如果只有元素已经没有它,如何将它添加到元素中?假设我们不知道该元素是否有class="desired_class ...
,但我们想确保它有。{/ p>
答案 0 :(得分:28)
此外,您可以使用classList
属性及其add()
方法:
var element = document.getElementById('myElement');
element.classList.add('myClass');
只有在元素没有的情况下才会添加类名。
有关classList
的更多信息:
https://developer.mozilla.org/en-US/docs/Web/API/Element/classList
答案 1 :(得分:7)
试试这个
var elem = $('selector');
if(!elem.hasClass('desired_class')){
elem.addClass('desired_class');
}
答案 2 :(得分:4)
我编写了一个仅限JavaScript的函数,在将该类添加到元素之前检查该类是否存在。 (您可以随时使用此处提到的$response = file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=MYSECRETCODEHERE&response=".$captcha."&remoteip=".$_SERVER['REMOTE_ADDR']);
if($response["success"] == false){
echo('spam');
}else{
echo('not spam');
}
,但对此的支持始于IE10。)
classList
function addClass(name, element) {
var classesString;
classesString = element.className || "";
if (classesString.indexOf(name) === -1) {
element.className += " " + name;
}
}
var element = document.getElementById('some-element');
addClass("on", element); // Adds the class 'on'
addClass("on", element); // Ignored
addClass("on", element); // Ignored
document.write('Element classes: ' + element.className);
答案 3 :(得分:1)
if ($('element').hasClass('some_class')) {
$('element').addClass('class_name');
}
答案 4 :(得分:1)
您确定只想使用JQuery吗?你可以用简单的JavaScript
来做到这一点 document.getElementById("elementId").getAttribute("class")
如果class属性不存在,将为null。
答案 5 :(得分:1)
使用下面的代码在普通的javascript检查类存在。我在这里检查el(元素)是否有tempClass
var el = document.getElementById("div1");
...
if (el.classList.contains("tempClass")){
return true;
}
答案 6 :(得分:0)
if (!$("your_element").hasClass("desired_class")) {
$("your_element").addClass("desired_class");
}
答案 7 :(得分:0)
此问题的更新答案正在使用toggleClass
$( "element" ).toggleClass( "className" );