我有个问题。我有一个来自 HTML 页面的字符串。我需要捕获特定字符串“附近”的元素,例如:
<p>This is some text</p>
Ratings:
<strong><a href="http://www.foo.co">Kids +13</a></strong>
我需要获得“评级:”,然后捕获最接近的下一个元素。我可以用 jQuery 做吗?我试过了,但我不明白我可以使用哪个文本“评级:”选择器。
谢谢。
Ratings:
将文本包装在<span>
标签中并应用class
属性,如下所示:
<p>This is some text</p>
<span class="ratings">Ratings:</span>
<strong><a href="http://www.foo.co">Kids +13</a></strong>
然后您可以选择Ratings:
文本,如下所示:
$(".ratings:contains(Ratings\:)")
最后,您可以使用 jQuery函数来获取所选元素.next()
的紧随其后的兄弟(在您的情况下为 tag ),如下所示:<a>
$(".ratings:contains(Ratings\:)").next()
请参阅示例jsFiddle。
最好的方法是给你一个这样的课程:
<a href="#" class="ratings">Kids +13</a>
在你的 jQuery 中,它就是这样的:
$('.ratings').html()
这将返回:
如果要保存,只需添加
var rating = $('.ratings').html()
如果你有一个以上的评级,它会有点复杂,但不会太多。
这对我有用:
$("body:contains(Ratings\:)").find("strong").html();
它并不漂亮,并且并非在所有情况下都有效,但它确实适用于您的示例。如果你能举出其他例子,我们或许能提供更多帮助。