我有个问题我有一个来自HTML页面的字符串。我需要捕获一个特定字符串附近的元素,像这样:
<p>This is some text</p> Ratings: <strong><a href="http://www.foo.co">Kids +13</a></strong>
我需要得到“Ratings:“,然后捕获最接近的下一个元素。我可以用jQuery吗?我试过了,但我不明白哪个选择器的文本“评级:”我可以使用。谢谢
ig9co6j11#
最好的方法是给予你一个这样的类:
<a href="#" class="ratings">Kids +13</a>
在你的jQuery中,它只是这样:
$('.ratings').html()
这将返回:
如果要保存,只需添加
var rating = $('.ratings').html()
如果你有一个以上的评级,这将是一个有点复杂,但不是很多。
yftpprvb2#
这对我很有效:http://jsfiddle.net/LykFa/1/
$("body:contains(Ratings\:)").find("strong").html();
这并不漂亮,也不是在所有情况下都有效,但它确实对您的示例有效。如果你能给予其他例子,我们也许能帮上更多的忙。
j2qf4p5b3#
将Ratings:文本 Package 在<span>标记中,并应用class属性,如下所示:
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()函数来获取所选元素的紧接着的兄弟(在本例中为<a>标记),如下所示:
.next()
<a>
$(".ratings:contains(Ratings\:)").next()
参见示例jsFiddle。
3条答案
按热度按时间ig9co6j11#
最好的方法是给予你一个这样的类:
在你的jQuery中,它只是这样:
这将返回:
如果要保存,只需添加
如果你有一个以上的评级,这将是一个有点复杂,但不是很多。
yftpprvb2#
这对我很有效:
http://jsfiddle.net/LykFa/1/
这并不漂亮,也不是在所有情况下都有效,但它确实对您的示例有效。如果你能给予其他例子,我们也许能帮上更多的忙。
j2qf4p5b3#
将
Ratings:
文本 Package 在<span>
标记中,并应用class
属性,如下所示:然后,您可以选择
Ratings:
文本,如下所示:最后,可以使用jQuery
.next()
函数来获取所选元素的紧接着的兄弟(在本例中为<a>
标记),如下所示:参见示例jsFiddle。