我有一个HTML列表,我尝试在列表中找到一个span元素,其文本等于'cat'
<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
我想我的包含过滤器用法有问题,但是出了什么问题?
答案 0 :(得分:3)
您的UL没有身份证明,但是没有上课。
因此,没有元素匹配#target-tag-list
。
请尝试搜索.target-tag-list
的课程。
答案 1 :(得分: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'));