3

HTMLリストがあり、リスト内で「cat」に等しいテキストを持つspan要素を見つけようとしています。

<div id= "target_language_tag_list">
<ul class="target-tag-list">
    <li><span id="tag_18" class="myTag">éléphant</span></li>
    <li><span id="tag_31" class="myTag">box</span></li>
    <li><span id="tag_29" class="myTag">cat</span></li>
    <li><span id="tag_30" class="myTag">pig</span></li>
    <li><span id="tag_32" class="myTag">flower</span></li>
</ul>

次のjs.coffeeスクリプトを作成しましたが、「未定義」の回答が得られます

translatedTag = $('input#tag_translated_name').val()  # cat
targetList = $('#target-tag-list')
found = targetList.find("span:contains(" + translatedTagName + ")")
alert 'found: ' + found.attr('id')  # should be tag_29 but is undefined

私も直接テストを試みます、同じ未定義のエラー

found = $("#tags.tab-pane.active #target-tag-list li span:contains('cat')")
alert 'found: ' + found.attr('id')  # should be tag_29 but is undefined

含まれているフィルターの使用法に何か問題があると思いますが、何が問題なのですか?

4

2 に答える 2

3

ULにはIDではなくクラスがあります。

したがって、一致する要素はありません#target-tag-list.target-tag-list代わりにでクラスを検索してみてください。

于 2013-01-22T17:12:37.340 に答える
0

これを試してください:http://jsfiddle.net/fpS4u/

translatedTag = $('input#tag_translated_name').val();
targetList = $('.target-tag-list');
found = targetList.find("span:contains("+translatedTag+")");
alert('found: ' + found.attr('id'));
于 2013-01-22T17:24:26.513 に答える