我想将元素的 id 值传递给 jquery click 函数。
这是代码片段
function maintest() {
var buttonElem = $('<button>').attr({"id" : "buttonMain" }).css ({"cursor" :"pointer"}).text("Click me!").click(function() {
buttonClicked ();
});
$("#mainDiv").append(buttonElem);
}
function buttonClicked () {
alert("button clicked");
}
<html>
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
</head>
<body onload ="maintest()">
<div id="mainDiv"></div>
</body>
</html>
我想将 id 值“buttonMain”传递给“buttonClicked”函数,
这是我尝试过的
function maintest() {
var buttonElem = $('<button>').attr({"id" : "buttonMain" }).css ({"cursor" :"pointer"}).text("Click me!").click(function(this.id) {
buttonClicked (this.id);
});
$("#mainDiv").append(buttonElem);
}
function buttonClicked (elem) {
alert("button clicked");
alert("passed elem id value"+ elem);
}
最佳答案
this.id
不应出现在函数参数列表中。 this
是隐式传递的,点击处理函数的第一个参数是 Event
对象。
function maintest() {
var buttonElem = $('<button>').attr({
"id": "buttonMain"
}).css({
"cursor": "pointer"
}).text("Click me!").click(function() {
buttonClicked(this.id);
});
$("#mainDiv").append(buttonElem);
}
function buttonClicked(elem) {
console.log("button clicked");
console.log("passed elem id value "+ elem);
}
<html>
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
</head>
<body onload="maintest()">
<div id="mainDiv"></div>
</body>
</html>
关于javascript - 如何将值归因于jquery click函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60149332/