gpt4 book ai didi

javascript - jQuery:如何检查两个元素是否具有相同的类

转载 作者:搜寻专家 更新时间:2023-10-31 22:15:45 25 4
gpt4 key购买 nike

有没有办法检查两个元素是否具有相同的类名?我的代码看起来像这样......

<body class="foo bar cats">
<a href="#" class="foo">Link</a>
<a href="#" class="puppies">Link</a>

我想做的是将另一个类添加到 foo 链接(如果它与正文中的类匹配)。我如何使用 jQuery 检查我的链接中的某个类是否与正文中的类匹配?

最佳答案

我建议:

$('a').each(
function() {
var classes = this.classList;
for (var i=0,len=classes.length; i<len; i++){
if ($('body').hasClass(classes[i])){
$(this).addClass('bodySharesClass');
}
}
});​

JS Fiddle demo .


编辑以尝试解释 Internet Explorer 无法理解/使用/实现 .classList:

if (!document.createElement().classList){
var useAttr = true;
}

$('a').each(
function(i) {
var classes = [];
if (!useAttr){
classes = this.classList;
}
else {
classes = $(this).attr('class');
}
for (var i=0,len=classes.length; i<len; i++){
if ($('body').hasClass(classes[i])){
$(this).addClass('bodySharesClass');
}
}
});

JS Fiddle demo .


已编辑 因为我之前尝试解释 IE 的尝试似乎失败了。叹。仍然!这种方法应该有效,尽管我无法对其进行测试,因为我没有同时使用 IE Windows:

$('a').each(
function(i) {
var classes = this.className.split(/\s+/);
for (var i=0,len=classes.length; i<len; i++){
if ($('body').hasClass(classes[i])){
$(this).addClass('bodySharesClass');
}
}
});

JS Fiddle demo .

引用资料:

关于javascript - jQuery:如何检查两个元素是否具有相同的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9603814/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com