仅在href上具有特定文本的逻辑-jQuery

仅在href上具有特定文本的逻辑-jQuery,jquery,text,href,siebel,Jquery,Text,Href,Siebel,我在动态生成的网页上有几个a标签,它们是这样的 <a href='JavaScript:SWESubmitForm(document.SWEForm9_0,s_12,"s_9_1_35_1","1-3ZR4-1743")' tabindex=997 id='s_9_1_35_1'>Add</a> <a href='JavaScript:SWESubmitForm(document.SWEForm9_0,s_13,"s_9_1_36_1","1-3ZR4-174

我在动态生成的网页上有几个a标签,它们是这样的

<a href='JavaScript:SWESubmitForm(document.SWEForm9_0,s_12,"s_9_1_35_1","1-3ZR4-1743")'  tabindex=997  id='s_9_1_35_1'>Add</a>

<a href='JavaScript:SWESubmitForm(document.SWEForm9_0,s_13,"s_9_1_36_1","1-3ZR4-1743")'  tabindex=997  id='s_9_1_36_1'>Cancel</a>
但我不确定这是否是最有效的方法

你们能建议一下正确的方法吗?

你们可以用这个

正如你在另一个回答中所说的,你想知道这是否是“正确的方式”——我会说不。正确的方式当然是为每个链接分配一个类,然后使用类选择器将单击事件绑定到它们。但是我假设您对html没有太多的控制权

也就是说,我会使用过滤器,正如我在下面建议的那样。这将最小化绑定的事件数。如果您想让它更高效,我会使用
委托
打开
并绑定到一个公共父级。这也减少了绑定单击事件的数量


如果链接id是可预测的,并且如HTML中所示,则可以使用以下方法:

$('#s_9_1_35_1').click(function() {
    // put your code here
});

如果控制HTML,您可以在所需链接上放置适当的ID或类,只需使用选择器即可。这比试图根据文本过滤所有链接要有效得多。

您的代码可以工作,但括号有问题。我在JSFIDLE上进行了测试

$('a[href*="SWESubmitForm"]').click(function(){
if($(this).text() == "Add"){
//do something
    alert('ok')}
});​

不,id是动态生成的。。。每次打开页面时,它都会有一个不同的idloaded@user1017268-您能否仅在“添加”按钮上添加特定的类名?搜索页面上链接的文本不是很有效。还有,一些框架生成一个永远不一样的ID,这样就没有人可以在javascript中使用它,这有什么意义呢?这是不可能做到的。我无法修改正在生成的代码。我必须处理正在生成的代码缺少括号是我的打字错误。我知道这段代码是有效的,但问题是这是正确的方法还是有效的方法???这取决于你的约束是什么。如果您不能以与需要不同的方式引用元素(选择所有a href,如“%SWESubmitForm%”),将解决您的问题。
$('#s_9_1_35_1').click(function() {
    // put your code here
});
$('a[href*="SWESubmitForm"]').click(function(){
if($(this).text() == "Add"){
//do something
    alert('ok')}
});​