Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.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
Jquery 更改所有类别的类别=";例如;内部a<;部门>;使用特定的数据id_Jquery - Fatal编程技术网

Jquery 更改所有类别的类别=";例如;内部a<;部门>;使用特定的数据id

Jquery 更改所有类别的类别=";例如;内部a<;部门>;使用特定的数据id,jquery,Jquery,我一直在修改范围内的所有class=like跨度的类(仅此示例一个。页面上还有更多内容) 我需要这个$('.h2[data id=“9”]”)就是这样,因为我需要选择特定的divs 在这种情况下,如何将所有class=like的class更改为其他内容。我似乎对这件事毫无兴趣。如果您查看下面的代码,您将看到我试图实现的目标 你能帮忙吗 success: function(data){ // Remove class like, add class no-link

我一直在修改
范围内的所有
class=like
跨度的类(仅此示例一个。页面上还有更多内容)

我需要这个
$('.h2[data id=“9”]”)
就是这样,因为我需要选择特定的
div
s

在这种情况下,如何将所有
class=like
class
更改为其他内容。我似乎对这件事毫无兴趣。如果您查看下面的代码,您将看到我试图实现的目标

你能帮忙吗

success: function(data){
         // Remove class like, add class no-link
         $('.like[data-id="'+data+'"]').removeClass('like').addClass('no-like');

    //For this example
    $('.h2[data-id="9"]').siblings().removeClass('like').addClass('grey');
    },
我的

餐厅
城里你最喜欢哪家餐馆?
*麦当劳式
*肯德基
*心脏病发作的烧烤店
*In-n-Out-Like
*大力水手式
试一试:

function classReplace(data,replacementClass) {
        //$('.h2[data-id="' + data + '"]').children('div').children('span[data-sec="' + data + '"]').removeClass('like').addClass(replacementClass);
  $('.h2[data-id="'+ data +'"]').children('div').children('span.like').removeClass('like').addClass(replacementClass);
};

classReplace(9,'hide');

只需传入要替换的数据id。

同级
方法选择所选元素的同级元素,并且目标元素是所选
div
元素的后代,您应该改用
.find()
方法:

$('.h2[data-id="'+ data +'"]').find('span.like')
                              .removeClass('like')
                              .addClass('grey'); 

当前代码的问题是什么?
data
包含什么?$('.h2[data id=9]')。。丢失选择器中的引语此问题与此问题非常相似:数据正常。问题出在下面。用
find('span.like')
方法替换
兄弟姐妹()
是否解决了问题?我需要为
中的所有
span class=“like”
更改
类。我怎样才能具体说明呢?所以:$('.h2[data id=9]').children('span with class=“link”')).removeClass('like').addClass('grey');代码已被更新,以说明div中的div,并添加了一个参数,供您传入所需的新类的名称。没有子项('span[data sec=“”+data+“]”)。它是children('All span with class=“like”')。这就是我所希望的方法—(这是您的答案,只做了一些修改,它是有效的)-$('.h2[data id=9]')。children('div')。children('span.like')。removeClass('like')。addClass('hide');但是我想知道它是否正确。在上面的代码中,您的跨度上确实有data sec,但是如果您只希望所有跨度都有一个类,那么您的更改是正确的,但是没有replacementClass参数。代码笔已根据您的请求进行了更新,并且还有第二个参数。非常感谢您的帮助。
$('.h2[data-id="'+ data +'"]').find('span.like')
                              .removeClass('like')
                              .addClass('grey');