有沒有辦法查看一個字符串是否包含在一個元素中?具體是一個鏈接?如何檢查一個DOM元素是否包含一個字符串
例如:
<a href="#">Some text foo_string more text</a>
將返回 「a」 作爲所述元件。 jQuery或PHP - 無關緊要。謝謝!
澄清:
我想知道的是,包含foo_string的元素。不是一個元素是否包含字符串。
有沒有辦法查看一個字符串是否包含在一個元素中?具體是一個鏈接?如何檢查一個DOM元素是否包含一個字符串
例如:
<a href="#">Some text foo_string more text</a>
將返回 「a」 作爲所述元件。 jQuery或PHP - 無關緊要。謝謝!
澄清:
我想知道的是,包含foo_string的元素。不是一個元素是否包含字符串。
檢查如果元素包含字符串
要檢查元素是否符合此標準,嘗試了jQuery contains
選擇:
if ($('#some-element').is(':contains("foo_string")')) {
// Do something...
}
注意這個選擇是區分大小寫。
選擇包含元素(S)(S)的字符串
要選擇符合此標準的元素,只是,你會與選擇作爲參數傳遞給主jQuery函數任何其他選擇器:
var element_with_foo = $(':contains("foo_string")');
請記住,建議限制選擇的範圍,否則將應用於整個DOM。
這不是我所問的。正如我在問題中所添加的,我想知道包含特定字符串的元素。所以它可能是div,a或其他。 – 2013-03-18 14:34:15
@jeanpaul更新了答案。 – Boaz 2013-03-18 14:36:20
謝謝波阿斯,你會碰巧知道是否有一個PHP DOMDocument的等價物? – 2013-03-18 14:59:30
您可以使用innerText或textContent DOM屬性和JavaScript的正則表達式方法。
例如
var el = document.getElementById('my-link');
var txt = el.innerText;
return txt.match(/str/);
在這裏使用jQuery更簡單,但這是一個純粹的JavaScript解決方案。
試試這個...
if ($('a').html().indexOf('foo_string') != -1) // doSomething
使用jQuery
if($('a').text().length < 1){
alert("empty")
}else{
alert("not");
}
更新
$(":contains('Some text foo_string')"); //this get all the element with the text in it
u可以使用.prop('tagName')
獲取標籤名..
你看過jQuery嗎? – castis 2013-03-18 14:25:25
你的意思是你想要包含你正在尋找的字符串的dom元素?或只是元素的名稱? – 2013-03-18 14:26:58
只是元素馬克。謝謝! – 2013-03-18 14:27:43