jQuery通過內(nèi)容獲取元素,是指在頁面上獲取特定內(nèi)容的元素。此時(shí)我們無法準(zhǔn)確地知道要獲取的元素的ID或者類名,只能通過文本內(nèi)容來獲取元素。
比如,在以下代碼中,我們需要獲取所有含有“Success”文本內(nèi)容的p元素。
<p>Login Failed</p> <p>Registration Success</p> <p>Please try again later</p> <p>Success! Your password has been changed.</p>
我們可以使用jQuery的:contains選擇器來實(shí)現(xiàn)這個(gè)目標(biāo):
$('p:contains("Success")');
這樣就能選中最后一個(gè)p元素,得到我們想要的結(jié)果。
直接使用:contains選擇器可能會(huì)導(dǎo)致一些問題。如果頁面中有其他元素,例如表格或者列表項(xiàng),其文本內(nèi)容也含有“Success”,這些元素同樣會(huì)被選中。為了避免這種情況,我們可以使用.filter()方法來進(jìn)一步篩選元素:
$('p:contains("Success")').filter(function() { return $(this).html().indexOf('Success') !== -1; });
這樣就能精確地獲取文本內(nèi)容為“Success”的p元素。