如何通过 jQuery 获取被点击元素的 ID,然后将其作为参数传递给函数?下面的示例 jQuery 代码。
jQuery(document).ready(function() {
var id = this_id;
jQuery(".lightbox a").click({param: id}, functionName);
});
请注意,“param”参数是函数结构的组成部分。
抱歉,无论如何我都不是 Javascript 大师。
如何通过 jQuery 获取被点击元素的 ID,然后将其作为参数传递给函数?下面的示例 jQuery 代码。
jQuery(document).ready(function() {
var id = this_id;
jQuery(".lightbox a").click({param: id}, functionName);
});
请注意,“param”参数是函数结构的组成部分。
抱歉,无论如何我都不是 Javascript 大师。
在点击处理程序中,您可以使用this.id
或访问元素 ID $(this).attr('id')
:
jQuery(document).ready(function() {
jQuery(".lightbox a").click(function(){
functionName(this.id);
});
});
我猜重点是将事件数据传递给一个期望 asclick()
支持.click( [eventData ], handler(eventObject) )
语法的函数,如果是这样,您必须自己迭代集合:
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);
});
});
您可以this.id
在点击事件中使用,例如:
jQuery(".lightbox a").click(function() {
var id = this.id;
//pass to a function
testFunction(id);
});
function testFunction(param) {
console.log(param);
}
很容易访问this
元素以获取单击的元素,然后提取其id并将其保存到如下变量中:
jQuery(".lightbox a").click(function(){
var id = jQuery(this).attr("id");
callFunction(id);
});
jQuery(document).ready(function() {
jQuery(".lightbox a").click(functionName);
});
function functionName()
{
alert(this.id);
}
您可以使用this.id
or $(this).attr("id");
,但如果您在其中执行许多其他操作,您可能希望立即获取对$(this)
- 是否已包装的引用并从变量中工作。
你可以使用$(this).att("id")
.
$(".lightbox a").click(function() {
var ID=$(this).att("id");
//pass to a function
TestFunction(ID);
});
function TestFunction(P) {
console.log(P);
}
活生生的例子
你可以这样做:
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);
});
});
另一种方法是使用传递给回调函数的事件参数。
jQuery(".lightbox a").click(function(ev) {
console.log(ev.target.id);
}
当然,它是 jQuery 和纯 JS 的混合体。
通常你有一个用 function(event) 声明的事件的函数,并且该事件有一个目标,目标的 id 就是你想要的。所以
$("SomeElement").on("click", function(e){ callanotherFunction(e.target.id) })
做,你想要什么