如何决定在jQuery中点击哪个元素?

时间:2014-03-15 20:32:23

标签: javascript jquery html

我在HTML中有更多类似的元素,这些元素与PHP一起不断添加。我的问题如下:

使用jQuery,我想为每个<div>元素添加一个click事件。当点击任何一个时,它应该显示它的内容。问题是我想我需要使用类来指定哪些元素可以被点击。但在这种情况下,应用程序将无法决定点击哪个特定元素,对吧?

HTML:

<div class="test">1</div>
<div class="test">2</div>
<div class="test">3</div>
<div class="test">4</div>
<div class="test">5</div>

jQuery尝试:

$("test").on("click", function()
{
    var data = ???
    alert(data);
});

更新 - 问题2:

如果我在这些div之间放置<a>标记会发生什么情况,并且我想在点击DIV时获得href值?

当我使用this尝试时,我总是收到错误。

5 个答案:

答案 0 :(得分:2)

this是指触发事件的元素。请注意,它是一个常规的js元素,因此在使用jQuery函数之前,您需要将其转换为jQuery对象:$(this)

$(".test").on("click", function()
{
    var data = $(this).text();
    alert(data);
});

答案 1 :(得分:1)

像这样:

$(".test").on("click", function(event)
{
    var data = $(event.target);
    alert(data.text());
});

答案 2 :(得分:0)

此变量包含当前项的引用

  $(document).ready(function() {
        $(".test").click(function(event) {

    var data = $(this).text();
    alert(data);
        });
    })

答案 3 :(得分:0)

jquery中的类选择器是$(“。ClassName”)并且要访问该值,请使用$(this):

$(".test").on("click", function(){
    var data = $(this).text();
    alert(data);
});

答案 4 :(得分:0)

您可以在函数中使用this表示单击的div

DEMO

$(".test").on("click", function () {
     alert($(this).html());
});