やりたかったのは、liの中の要素に、<a>やら<p>やら<h3>やらがあり、その中にNGワードで指定したものが含まれていた場合に、li要素を消すというもの。1時間位試行錯誤したので、メモっておこうと思う。(jQueryをあまりしらないので、試行錯誤です)
改良版
kazu56さんからのご指摘でもっとシンプルに書けますよ!とのご連絡を頂戴しております。(こっちのがいいですね)
var ngword = ['エロ','本番','胸','ビッチ','エッチ'];
$.each(ngword,function(index,value){
var selector = ".list li:contains('" + value + "')";
$(selector).remove();
});
対象のHTML
<div class="list">
<li>
<p>エロい</p>
<img src="エロ画像">
</li>
<li>
<a>胸が大きい</a>
<img src="胸画像">
</li>
<li>
<h3>ビッチが沢山</h3>
<img src="ビッチ画像">
</li>
</div>
<script>
var ngword = ['エロ','本番','胸','ビッチ','エッチ']; //NGワードをここに指定する
var i = 0;
$('.list li').each(function() { // list classの中のliを選択
var txt = $(this).html(); // 対象の要素のHTMLを取得
for ( i = 0 ; i < ngword.length ; i ++ ) { //ngwordの数だけ繰り返す
if ( txt.indexOf(ngword[i]) != -1) {
$(this).remove(); //NGワードにマッチした時に li 要素を消す
}
}
});
</script>