jquery中有文本选择器吗?
jquery 中有文本选择器吗?
我的代码
<anything>Hello World! Hello World!</anything>
结果应该是(使用 Jquery)
<anything>Hello <span>World</span>! Hello <span>World</span>!</anything>
Are there any text selector in jquery ?
My Code
<anything>Hello World! Hello World!</anything>
Reslut Should be (Using Jquery)
<anything>Hello <span>World</span>! Hello <span>World</span>!</anything>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
不会。jQuery 主要处理元素,并且几乎不提供处理文本的功能。
要对文本进行查找和替换,您需要单独检查每个文本节点,并执行 DOM
splitText
操作,以便在找到匹配项时将其分开。例如:No. jQuery works primarily with elements and gives you very little for handling text.
To do a find-and-replace on text you will need to check each text node separately and do DOM
splitText
operations to take it apart when a match is found. For example:上面的代码片段使用了 jQuery 1.4 中添加的功能。
注意:此解决方案对于仅包含原始文本(且没有子元素)的元素是安全的。
The above snippet uses functionality added in jQuery 1.4.
Note: this solution is safe for elements containing only raw text (and no child elements).
您可以针对简单的情况进行正则表达式替换等,但对于更一般的答案:否。
jQuery 在处理文本节点时并没有提供太多帮助,它主要是为处理元素节点类型 (
nodeType == 1
) 而设计的,而不是文本节点类型 (nodeType == 3< /code>)...所以是的,您可以在有帮助的地方使用它(例如< code>.contents()
和.filter()
),但这种情况不会经常发生,因为这不是图书馆的主要目的。You can do a regex replacement, etc for your simple case, but for a more general answer: no.
jQuery just doesn't provide much help when dealing with text nodes, it's designed primarily for dealing with element node types (
nodeType == 1
), not text node types (nodeType == 3
)...so yes you can use it where it helps (e.g..contents()
and.filter()
), but that won't be often since it's not the library's main purpose.