如何使用 jquery 获取这样的元素的文本?
使用 jquery $( 时,有一段像这样的html代码
,返回的是'填写你的名字*',如何准确获取'填写你的名字'? "label[for='name']").text()
there is a snippets of html codes like this<label for=name>fill in your name<span>*</span></label>
, when using jquery $("label[for='name']").text()
, it returned 'fill in your name*',how can get exactly 'fill in your name'?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
contents()
允许您选择所有节点类型 - 包括文本节点。例如,这将返回元素的第一个文本节点的文本:contents()
allows you to select all node types - including just text nodes. For example, this will return the text for the first text node of the element:我建议您不要放置
*
而是使用伪元素 (:after
)。这样您就可以轻松获得更好的结果。查看此示例。
请注意更清晰的标记:
由于应用了
:after
伪元素,每个.required
标签默认都会带有星号:重要注意:上述解决方案在 IE7 及以下版本上将失败,因为它们不支持伪元素。
I would suggest you don't put the
<span>*</span>
and instead use pseudo-elements (:after
). That way you can easily get better results.See this EXAMPLE.
Note the cleaner markup:
Every
.required
label will have the star by default thanks to the:after
pseudo-element which is applied to it:Important Note: The mentioned solution will fail on IE7 and below, as they do not support pseudo elements.