Javascript 如何检测具有相同ID的已单击div文本

Javascript 如何检测具有相同ID的已单击div文本,javascript,jquery,html,Javascript,Jquery,Html,这是我对所有div使用相同id“#peoplelayer”的代码,当我单击其中一个div时,它会提醒具有相同id的该div的所有文本 我如何为这个问题辩护,因为我只需要提醒单击的div,而且我需要给这个div提供相同的id???id是唯一的,所以不能有两个元素具有相同的id。也许你想使用类 将id='peoplelayer'更改为class='peoplelayer',您可以使用以下代码: $(document).ready(function(){ $('#peoplelayer').

这是我对所有div使用相同id“#peoplelayer”的代码,当我单击其中一个div时,它会提醒具有相同id的该div的所有文本


我如何为这个问题辩护,因为我只需要提醒单击的div,而且我需要给这个div提供相同的id???

id是唯一的,所以不能有两个元素具有相同的id。也许你想使用类

id='peoplelayer'
更改为
class='peoplelayer'
,您可以使用以下代码:

$(document).ready(function(){

    $('#peoplelayer').click(function(){
        $("#peoplelayer").each(function(){

            $("#peoplelayer").fadeOut(500);
            var str = $(this).text();
            alert(str);
            //$("#peoplelayer").fadeTo(500,0.6);

            });

    });
});

ID是唯一的,因此不能有两个具有相同ID的元素。也许你想使用类

id='peoplelayer'
更改为
class='peoplelayer'
,您可以使用以下代码:

$(document).ready(function(){

    $('#peoplelayer').click(function(){
        $("#peoplelayer").each(function(){

            $("#peoplelayer").fadeOut(500);
            var str = $(this).text();
            alert(str);
            //$("#peoplelayer").fadeTo(500,0.6);

            });

    });
});

可以使用与所需类名相同的图像。但是您的页面上只能有一个具有给定
id
的图像。元素的id是唯一的。

您可以使用与所需类名相同的as图像。但是您的页面上只能有一个具有给定
id
的图像。元素的id是唯一的。

您需要做的是将它们更改为类

因此,不要使用
id=“peoplelayer”
,而是改为
class=“peoplelayer”
,然后您可以这样编写它。我做了一些改变,我想这会符合你的要求

$(document).ready(function(){

    $('.peoplelayer').click(function(){
        $(this).each(function(){

            $(this).fadeOut(500);
            var str = $(this).text();
            alert(str);
            //$(".peoplelayer").fadeTo(500,0.6); (I know it's commented, but just in case)
            });
    });
});

您需要做的是将它们更改为类

因此,不要使用
id=“peoplelayer”
,而是改为
class=“peoplelayer”
,然后您可以这样编写它。我做了一些改变,我想这会符合你的要求

$(document).ready(function(){

    $('.peoplelayer').click(function(){
        $(this).each(function(){

            $(this).fadeOut(500);
            var str = $(this).text();
            alert(str);
            //$(".peoplelayer").fadeTo(500,0.6); (I know it's commented, but just in case)
            });
    });
});

您的问题是事件处理程序中的每个事件(以及在应该使用类的地方使用ID)。将元素更改为具有
class=“peoplelayer
,然后您可以简单地编写:

$('.peoplelayer').click(function(){
        var str = $(this).text();
        $('.peoplelayer').fadeTo(500,0.6);
        $(this).fadeOut(500);
        alert(str);
});

click函数将将相同的click处理程序附加到每个元素,每个元素的类为
peoplelayer
,因此,您在单击处理程序中所做的操作不必要,并且每次单击任何元素时都会显示每个元素的文本。

您的问题是事件中的每个元素处理程序(以及在应该使用类的位置使用ID)。将元素更改为具有
class=“peoplelayer
,然后您可以简单地编写:

$('.peoplelayer').click(function(){
        var str = $(this).text();
        $('.peoplelayer').fadeTo(500,0.6);
        $(this).fadeOut(500);
        alert(str);
});

click函数会将相同的click处理程序附加到每个元素上,每个元素都有一个
peoplelayer
类,因此在click处理程序中执行的
每个
都是不必要的,并且每次单击任何元素时都会显示每个元素的文本。

,你可以使用类并在它们上使用js。 但是您可以选择与
$相同id的div(“div[id='peoplelayer'])


P.S.给两个元素赋予相同的id不是一个好的做法。
例如

好吧,你可以使用类并在类上使用js。 但是您可以选择与
$相同id的div(“div[id='peoplelayer'])


P.S.给两个元素赋予相同的id不是一个好的做法。
例如,ID必须是唯一的。改为使用类。您的标记无效,因此代码的行为未定义。ID必须唯一。改为使用类。您的标记无效,因此代码的行为未定义。