我发现在我认为会降低性能的元素上添加新类名之前,有很多框架会检查重复的类名。
元素有重复的类名时是否有问题?
当使用重复的类名时,它也将应用CSS类而不会发生冲突。
<div class="aa bb cc aa"></div>
是否可以像elem.className += ' ' + 'aa ee'
一样添加类名,即使该元素具有重复的类名?
答案 0 :(得分:5)
有一个重复的类名没有“错误”,它只是多余的。这可能会对性能产生很小的影响,但如果你有很多重复的话,这只会产生很大的影响。
另外,防止重复只会有助于保持整洁。
答案 1 :(得分:0)
Semantic UI大量使用属性选择器
喜欢这里
jQuery(document).ready(function($) {
$('#checked').click(function() {
var form_data = new FormData();
var form_data = new FormData(document.getElementById("form"));
form_data.append('action', 'acao_checar');
$.ajax({
url: ajaxurl,
type: 'POST',
dataType: 'text',
cache: false,
contentType: false,
processData: false,
data: form_data,
success: function(data){
document.getElementsByClassName('single_add_to_cart_button').disabled = true;
},
});
});
});
如果您希望.ui.grid [class*="left floated"].column {
margin-right: auto;
}
.ui.grid [class*="right floated"].column {
margin-left: auto;
}
和margin-left
拥有margin-right
,则必须具有auto value
类的副本(例如floated
)>
答案 2 :(得分:0)
ES6提供了一个便捷的API,用于添加和删除和测试DOM元素的类名:classList.add(name)和classList.remove(name)和classList.contains(name)。
在ES6上下文中,该问题可能改为:
“如果我多次使用.classList.add()添加相同的className,然后又想通过classList.remove()删除该类,我是否需要多次调用classList.remove()? / p>
幸运的是,答案似乎是对.classList.remove()的单个调用就足以删除给定的类,无论您添加了多少次。
我找不到Google的简单答案,因此我编写了以下测试来告诉我它的行为。以DOM-element作为参数调用下面的函数不会引发错误:
function testClassListRemove (dem)
{
dem.classList.add ("hello");
dem.classList.add ("hello");
dem.classList.add ("hello");
ok (dem.classList.contains ("hello") );
dem.classList.remove ("hello");
ok (! dem.classList.contains ("hello") );
function ok (b)
{ if (! b)
{ throw new Error ('not ok ');
}
}
}