如何使用find方法获取元素的id?
HTML
<div id="d1" class="line1">blib blab blub </div>
JS
$(function() {
// hit_id = $(".line1").find("blab").attr('id');
hit_id = $(".line1").match(/blab/).attr('id');
$('body').append(' - '+hit_id+' - ');
});
工作示例 http://www.jsfiddle.net/V9Euk/496/
提前致谢!
彼得
答案 0 :(得分:3)
您可以使用:contains()
进行文字匹配,然后使用.attr('id')
就像您拥有ID一样,如下所示:
var hit_id = $(".line1:contains('blab')").attr('id');
You can see the updated/working version here。
.match()
不是jQuery函数,除非您添加一些插件(请参阅示例页面上的控制台以获取错误:Object...has no method 'match'
)。 :contains()
会将元素集减少为包含您将字符串作为字符串传递给:contains()
的文本的元素集,这似乎是您所追求的。
答案 1 :(得分:1)
var hit_id = $('.line1').filter(function() {
return $(this).text().match(/blab/);
}).attr('id');