2017-04-08 5 views
1

内の特定のテキストを持つDOM要素を見つけることが、私は本当に例えば特定のテキスト を持つ要素を見つけるのに苦労している:以下、このスクリプトは見つけたい<span class="foo">Special</span>私は特定のテキストを検索する方法を知っているJavaScriptの

例がありますテキスト付きelemements?

var txt = window.document.body.innerHTML; 
if (txt.match(/Special/)) { 
    // do something if true 
    alert("Found"); 
} else { 
    // do something if false 
    alert("Sorry"); 

}; 
+1

jQuery? http://stackoverflow.com/questions/7896455/jquery-selector-for-an-element-that-directly-contains-text – mplungjan

+1

正確に何を達成しようとしていますか? [正規表現を使ってhtmlを解析しないでください](@stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454) – charlietfl

+2

@mplungjan質問がありますjQueryタグはありません。 –

答えて

2

ドキュメント内のすべての要素をキャッチし、指定されたテキストが含まれているかどうかを確認します。純粋なJavaScriptで

var elems = document.querySelectorAll("*"), 
 
    res = Array.from(elems).find(v => v.textContent == 'Special'); 
 
    
 
    console.log(res ? 'found!' : 'not found');
<span class="foo">Special</span> 
 
<span class="foo">Else</span>

0

ちょうどこのような要素の親つかむ:jQueryを使って

var x = this.parentElement.nodeName; //x=="span" 

または

var x = this.parentElement; //x == <span> object 

ちょうどこのような要素の親をつかむ:

$(this).parents("span"); 

したがって、上記の行をifの中に追加すると、span要素をオブジェクトまたはテキストとして取得できます。

関連する問題