我有一個問題。我有一個HTML頁面的字符串。我需要捕捉元素「接近」一個特定的字符串,像這樣的:jQuery - 獲取字符串附近的元素
<p>This is some text</p>
Ratings:
<strong><a href="http://www.foo.co">Kids +13</a></strong>
我需要「評級」,然後捕獲最接近的下一個元素。我可以使用jQuery嗎?我曾試過,但我無法理解哪些文本選擇器「評分:」我可以使用。
謝謝。
我有一個問題。我有一個HTML頁面的字符串。我需要捕捉元素「接近」一個特定的字符串,像這樣的:jQuery - 獲取字符串附近的元素
<p>This is some text</p>
Ratings:
<strong><a href="http://www.foo.co">Kids +13</a></strong>
我需要「評級」,然後捕獲最接近的下一個元素。我可以使用jQuery嗎?我曾試過,但我無法理解哪些文本選擇器「評分:」我可以使用。
謝謝。
做到這一點,最好的辦法是給你的一類這樣的:
<a href="#" class="ratings">Kids +13</a>
在你的jQuery它是那麼簡單:
$('.ratings').html()
這將返回:
如果你想保存它,只需添加
var rating = $('.ratings').html()
如果您有多個評分,它會稍微複雜一點,但不會太多。
我無法修改源頁面,所以頁面是一樣的。 – KLODEnet
這爲我工作:
$("body:contains(Ratings\:)").find("strong").html();
這不是漂亮,而且在任何情況下將無法正常工作,但它確實工作的例子。如果你能舉出其他例子,我們可能會提供更多幫助。
謝謝。我已經嘗試了您的解決方案,但它會返回大量強標籤。因爲我認爲它會檢查BODY是否包含「Ratings:」,如果這是真的,它會搜索所有「strong」標籤。這不好! – KLODEnet
包裹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>
標記),如下所示:
$(".ratings:contains(Ratings\:)").next()
查看示例jsFiddle。
你能不能在課堂上用'span'包裝單詞'ratings'?這將使選擇器變得非常容易。如果沒有,你將不得不使用'contents()',然後在'textNodes'中進行挖掘,這不會很漂亮。 –
正如Rory McCrossan所說,使用包裝元素會更容易,但是您可以從這樣的語法開始:$('*:contains(「Ratings:」)');' – Daniele