2013-08-07 50 views
0

我有一排按钮,它们之间唯一的区别他们的内部文本:与特定的文本选择按钮才激活click事件

<a href="#contact" class="btn btn-large btn-info" data-toggle="tab">Text1</a> 
<a href="#contact" class="btn btn-large btn-info" data-toggle="tab">text2</a> 
<a href="#contact" class="btn btn-large btn-info" data-toggle="tab">text3</a> 

我想激活脚本仅当“文字3按钮'被推。我尝试了以下,但这适用于所有按钮,不仅仅是'text3'。

$(function(){ 
$('a.btn[text()="text3"]').click(function(){ 

    console.log(id); 
//  some action here 

}); 
}); 

我该如何解决这个问题?

+0

难道你不能添加一个类到链接3吗? –

回答

1

可以使用:contains选择,所以你只能在事件处理程序绑定到包含文本的特定锚

$('a.btn:contains(text3)').click(function(){ ... 
+0

谢谢你,它工作! – user61629

2

你的jQuery的应该是

$("a.btn:contains('text3')").click(function(){ 
    alert("text3"); 
    }); 

JSFIDDLE DEMO

0

我喜欢.filter.text超过:contains

$('a.btn').filter(function() { 
    return $(this).text() == 'text3' 
}).click(function() { 
    alert('clicked'); 
});