您能否建议我如何处理点击功能的多个锚标记?
我的代码就像:
<a id="test1" href="#" >test1</a>
<a id="test2" href="#" >test2</a>
我的jQuery功能是:
$('a').click(function(event) {
alert('click');
});
jQuery点击功能适用于所有锚标记,但我想根据 id属性来区分jQuery功能。
答案 0 :(得分:5)
查看此处的id并创建if语句或开关(建议切换):
$('a').click(function(event) {
switch(this.id) {
case 'test1':
alert('link with an id of test1!');
event.preventDefault();
break;
case 'test2':
alert('link with an id of test2!');
event.preventDefault();
break;
default:
//Default behavior
}
});
答案 1 :(得分:2)
您想根据ID做些不同的事情吗?
您可以执行类似
的操作$('a').click(function(e){
var id = $(this).attr('id');
// switch depending on id
});
OR
$('#test1').click(function(e){ alert("you clicked test1"); });
$('#test2').click(function(e){ alert("you clicked test2"); });
但如果你要添加多个来做同样的事情,那就不会很好。
答案 2 :(得分:1)
您可以获取id属性。
$('a').click(function(event) {
alert($(this).attr('id')+' clicked!');
});
答案 3 :(得分:1)
你可以阅读元素的id,并根据id创建你的函数
$('a').click(function(event) {
if ($(this).attr("id") == 'test1')
{
alert('Test 1 was clicked');
}
else if ($(this).attr("id") == 'test2')
{
alert('Test 2 was clicked');
}
});
答案 4 :(得分:1)
如果要基于id:
绑定到元素$('#test1').click(function(event) {
alert('test1 clicked');
});
答案 5 :(得分:1)
这是我的方法
$('a').click(
function()
{
switch($(this).attr('id'))
{
case 'test1':
// Do some work
break;
case 'test2':
// Do some work
break;
}
}
);
答案 6 :(得分:0)
您可以按照其他答案中的建议查看ID,但您也可以使用自定义数据属性(html5)在每个标记上附加数据属性,或使用href,稍后可以从onclick事件(html5)访问
样品:
<a id="test1" data-my-custom-data="Insert" data-row-id="24" href="#" >test1</a>
<a id="test2" href="Insert" >test2</a>
$("a").click(function(event)
{
alert($(this).attr("data-my-custom-data"));
alert($(this).attr("data-row-id"));
alert($(this).attr("href"));
event.preventDefault(); // To avoid browsing to href...
});