如何通过jQuery获取被点击的元素的ID,然后将其作为参数传递给函数?示例jQuery代码如下。
jQuery(document).ready(function() {
var id = this_id;
jQuery(".lightbox a").click({param: id}, functionName);
});
请注意,“param”参数是函数结构的组成部分。
道歉,无论如何我都不是Javascript的主人。
答案 0 :(得分:5)
在点击处理程序中,您可以使用this.id
或$(this).attr('id')
访问元素ID:
jQuery(document).ready(function() {
jQuery(".lightbox a").click(function(){
functionName(this.id);
});
});
答案 1 :(得分:5)
我猜测重点是将事件数据传递给期望的函数,因为click()
支持.click( [eventData ], handler(eventObject) )
语法,如果是这样,你必须自己迭代集合:< / p>
jQuery(document).ready(function($) {
$(".lightbox a").each(function() {
$(this).click({param: this.id}, functionName);
});
});
修改强>
您也可以使用on()
执行此操作:
jQuery(document).ready(function($) {
$(".lightbox a").each(function() {
$(this).on('click', {param: this.id}, functionName);
});
});
答案 2 :(得分:3)
您可以在点击事件中使用this.id
,例如:
jQuery(".lightbox a").click(function() {
var id = this.id;
//pass to a function
testFunction(id);
});
function testFunction(param) {
console.log(param);
}
答案 3 :(得分:3)
只需访问this
元素即可获取点击后的元素,然后提取其 ID 并将其保存为如下变量:
jQuery(".lightbox a").click(function(){
var id = jQuery(this).attr("id");
callFunction(id);
});
答案 4 :(得分:3)
jQuery(document).ready(function() {
jQuery(".lightbox a").click(functionName);
});
function functionName()
{
alert(this.id);
}
答案 5 :(得分:2)
您可以使用this.id
或$(this).attr("id");
,但您可能希望立即获取对$(this)
的引用 - 包裹或不包含 - 并且如果您执行其他任何操作,则可以使用变量进行操作在那里。
答案 6 :(得分:2)
您可以使用$(this).att("id")
。
$(".lightbox a").click(function() {
var ID=$(this).att("id");
//pass to a function
TestFunction(ID);
});
function TestFunction(P) {
console.log(P);
}
实例
答案 7 :(得分:2)
你可以这样做:
jQuery(document).ready(function () {
jQuery(".lightbox a").click(function (e) {
// Cancel the default action (navigation) of the click.
e.preventDefault();
// 'this' here refers to the link being clicked in the current scope
// you can check the console for the id for debug purpose
console.log(this.id);
// pass the id to the function
functionName(this.id);
});
});
答案 8 :(得分:2)
另一种方法是使用传递给回调函数的事件参数。
jQuery(".lightbox a").click(function(ev) {
console.log(ev.target.id);
}
当然它是jQuery和纯JS的混合。
答案 9 :(得分:2)
通常你有一个用声明的事件的函数 功能(事件) 并且事件有一个目标,目标的id是你想要的。所以
$("SomeElement").on("click", function(e){ callanotherFunction(e.target.id) })
做什么,你想要什么