大家好我试着弄清楚如何传递我在不同功能中点击的元素属性
具体而言,我有十几个具有相同className = online
的元素
但是,每个元素都有一个唯一的id,我动态地为它们分配了它们。
我使用$(document).on
,因为我想听document
点击,因为className=online
的元素也是动态创建的。
$(document).on("click", ".online", isInPrivateChat);
我如何在不同的功能中使用例如
function TakeTheidfTheElement(){
//take the id of the element i clicked
}
我知道我应该使用jquery方法.attr('id')
但不能让它真正起作用。
由于
答案 0 :(得分:2)
<强> Working fiddle 强>
您可以使用new
从回调函数id
获取isInPrivateChat
,如:
this.id
希望这有帮助。
function isInPrivateChat(){
alert( this.id );
}
$(document).on("click", ".online", isInPrivateChat);
function isInPrivateChat(){
console.log( this.id );
}
答案 1 :(得分:0)
通过以下方式携带身份证件:
$(document).on("click", ".online", function() {
isInPrivateChat($(this).attr('id')); /* <-- get id and pass it in */
});
然后
function TakeTheidfTheElement(idPassed){
// do something with idPassed
}
为了记录,Zacaria的答案是更好的选择 - 显示这是你如何使用.attr('id')
答案 2 :(得分:0)
您可以将整个元素传递给子函数,在那里您可以使用JQuery或直接javascript来获取元素的属性。
$(document).on("click",".online",function() {
getMyId(this);
});
function getMyId(element) {
alert(element.id);
}
如果你只是想将id传递给sub函数,你可以这样做:
$(document).on("click",".online",function() {
getMyId(this.id);
});
function getMyId(elementID) {
alert(elementID);
}
这是fiddle的工作
答案 3 :(得分:0)
检查以下代码段
$(document).on("click", ".online", isInPrivateChat);
function isInPrivateChat(event) {
anotherFunctin(event.currentTarget.id);
}
function anotherFunctin(id){
console.log(id);
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="online" id="id">
click me
</div>
&#13;