Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/445.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 如果当前文本数据=任何其他文本数据,则。。。?_Javascript_Jquery - Fatal编程技术网

Javascript 如果当前文本数据=任何其他文本数据,则。。。?

Javascript 如果当前文本数据=任何其他文本数据,则。。。?,javascript,jquery,Javascript,Jquery,我试图检查当前单击的文本是否与页面上的任何其他文本具有相同的数据,因为下面的文本在页面上放置了两次。单击文本后,它将添加一个类(此位正在工作),如果它与页面上的任何其他文本具有相同的数据,则该文本也将被赋予新类 <span class="AJAXPagerSpan" data-num="6">6</span> <span class="AJAXPagerSpan" data-num="12">12</span> <span class="AJ

我试图检查当前单击的文本是否与页面上的任何其他文本具有相同的数据,因为下面的文本在页面上放置了两次。单击文本后,它将添加一个类(此位正在工作),如果它与页面上的任何其他文本具有相同的数据,则该文本也将被赋予新类

<span class="AJAXPagerSpan" data-num="6">6</span>
<span class="AJAXPagerSpan" data-num="12">12</span>
<span class="AJAXPagerSpan" data-num="24">24</span>  



  $(".AJAXPagerSpan").click(function() {
        <%= this.ID %>_Pager.ChangeResultsPerPage($(this).html()); 


       // Check if any of its siblings are part of the "highlightclass" and remove them from it
        $(this).siblings().removeClass("highlightclass");
        if ($(this).data() == $(this).siblings().data()) {
        $(this).addClass("highlightclass");
        };
       // Add it to the highlightclass
        $(this).addClass("highlightclass");

  });
6
12
24
$(“.AJAXPagerSpan”)。单击(函数(){
_changesultsperpage($(this.html());
//检查其同级是否属于“highlightclass”,并将其从中删除
$(this.sides().removeClass(“highlightclass”);
if($(this.data()==$(this.sibbines().data()){
$(此).addClass(“highlightclass”);
};
//将其添加到highlightclass
$(此).addClass(“highlightclass”);
});
您的代码存在以下问题:

  • 您缺少用于指定数据名称的
    .data()
    的参数

  • if
    条件周围缺少括号

  • 您需要分别测试每个兄弟姐妹。与集合一起使用时,
    .data()
    仅返回集合第一个元素的值。您可以使用
    .each()
    循环

  • 我使用了与数据属性匹配的选择器,而不是循环


    没有一个元素具有相同的数据。我的兄弟元素中可能没有相同的数据。不管怎样,我都可以检查整个页面中的ceratin数据num值,我去掉了
    同级
    ,只使用了一个通用选择器来选择所有具有数据num值的跨距。这很好,但是无论我做什么,找到的匹配文本都会保留该类。我需要删除类也工作。感谢您的帮助,只需将所有内容与highlightclass匹配并删除即可。
    $(".AJAXPagerSpan").click(function () {
        $(".highlightclass").removeClass("highlightclass");
        $("span[data-num=" + $(this).data("num") + "]").addClass("highlightclass");
    });