Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何获取在a";中使用ajax添加的元素的值;“生活”;事件_Javascript_Jquery - Fatal编程技术网

Javascript 如何获取在a";中使用ajax添加的元素的值;“生活”;事件

Javascript 如何获取在a";中使用ajax添加的元素的值;“生活”;事件,javascript,jquery,Javascript,Jquery,事情是这样的- 单击事件会在页面上添加一组元素,它们都具有相同的id(这里有什么问题吗?) 我使用live函数将单击事件分配给所有这些元素: $(“#标记”).live('click',function(){ log($(“#tag”).html()); }); 当我单击其中任何一个元素时,只记录第一个元素的值 如何让单击事件知道我实际单击了哪些元素? 非常感谢 更新:使用类和$(这)是一种方法。问题解决了。谢谢格里格斯和约翰 尝试使用$(this.val()或$(this.html() 编辑

事情是这样的- 单击事件会在页面上添加一组元素,它们都具有相同的id(这里有什么问题吗?)

我使用live函数将单击事件分配给所有这些元素:

$(“#标记”).live('click',function(){
log($(“#tag”).html());
});

当我单击其中任何一个元素时,只记录第一个元素的值

如何让单击事件知道我实际单击了哪些元素? 非常感谢

更新:使用类和$(这)是一种方法。问题解决了。谢谢格里格斯和约翰

尝试使用
$(this.val()
$(this.html()

编辑

如果您想循环遍历所有thr#标记元素,那么仍然可以使用$(this)将单击的标记与正在循环遍历的元素进行检查。如果这有道理的话


顺便问一下:为什么有多个元素具有相同的ID?那有点糟糕。更好的方法可能是让元素具有公共类名,您可以引用和附加事件。

如果添加的元素确实都具有相同的ID,而不是相同的类,那么这就是一个问题。如果需要帮助,您需要发布添加元素的代码

从您发布的代码中可以看出,您正在将live方法附加到.tag类,但在函数中,您引用的是一个ID为#tag的元素。你可能想了解一下两者之间的区别

尝试以下方法来解决您的问题:

$(".tag").live('click', function() { 
    console.log($(this).html()); 
});
或者,您可以执行以下操作以获取单击的元素:

$(".tag").live('click', function(event) { 
    console.log($(event.target).html()); 
});

我想我最好还是去上课,然后开始解决这个问题。然后我不得不走了,所以我决定发布这个问题,看看会得到什么样的回应。我的错。