Jqueryにて文字列を検索する方法は幾つか見つけました。
if ( $('body').is(":contains('りんご')") ) {});
これを文字列だけではなく、タグも含めた「<li>りんご</li>」を検索する方法はありますでしょうか?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答3件
0
jquery セレクタ
で、google 検索すると情報を得られると思います。
タグで指定する方法、 テキスト要素の文字列で指定する方法を修得し、それを 組み合わせれば出来るはずです。
参考情報:
- jQuery日本語リファレンス http://semooh.jp/jquery/api/selectors/
- http://www.buildinsider.net/web/jqueryref/040
...
例えば以下は、配下に「jQuery」という文字列を含んだ<td>要素の背景色を黄色に変更する例です。
...
$('td:contains("jQuery")').css('background-color', 'Yellow');
...
投稿2016/06/19 12:37
総合スコア22324
0
ベストアンサー
DOMとHTMLタグ
まず、前提としてHTML文書から要素を検索する場合に「タグ」というより考え方はありません。
HTML文書は全てDOMというオブジェクトツリーの形式に変換されており、HTMLタグの文字列ベースで検索することは出来ないからです。
「<li>りんご</li>」を検索
「<li>りんご</li>」を検索する場合、li要素ノードを検索し、次に子供となるテキストノード「りんご」を検索しますが、どこまで厳密にするかで実装方法が変わります。
li要素ノードの属性に何があってもよく(<li id="hoge">
のように属性が付与されることを許可する)、「りんご」が部分一致でよい(例: 「青りんご」でもよい)のなら katoy さんが回答したコードになります。
JavaScript
1jQuery('li:contains("りんご")');
li要素ノードの属性に何があってもよく、「りんご」が完全一致なら次のように書きます。
JavaScript
1jQuery('li').filter(function () { 2 return this.textContent === 'りんご'; 3});
li要素ノードに属性が存在してはならず(<li>
でなければならない)、「りんご」が完全一致なら次のように書きます。
JavaScript
1jQuery('li').filter(function () { 2 return this.outerHTML === '<li>りんご</li>'; 3});
Re: realmccoy さん
投稿2016/06/20 03:47
総合スコア18166
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
javascript RegExpで正規表現を使いましょう
訂正)
↑質問の答えとしては間違っていました
投稿2016/06/19 12:11
編集2016/06/19 12:47退会済みユーザー
総合スコア0
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。