如何将元素添加到元素只有当它已经没有它?假设我们不知道元素是否有class="desired_class ...
,但我们想让它舒服一些。如何添加类到元素只有它已经没有它?
回答
试试这个
var elem = $('selector');
if(!elem.hasClass('desired_class')){
elem.addClass('desired_class');
}
if ($('element').hasClass('some_class')) {
$('element').addClass('class_name');
}
你确定你想只用jQuery来做到这一点?你可以用简单的JavaScript来做到这一点。
document.getElementById("elementId").getAttribute("class")
如果class属性不存在,会给你null。
这并不能解决问题。如果元素有一个类,但没有你想添加的元素,该怎么办? – Zaz 2016-12-10 21:25:59
if (!$("your_element").hasClass("desired_class")) {
$("your_element").addClass("desired_class");
}
这不会工作,因为$(this)不会引用$(your-element) – 2012-03-01 12:05:27
此外,您还可以使用classList
属性和它的add()
方法:
var element = document.getElementById('myElement');
element.classList.add('myClass');
如果元素没有它的类名称将只增加。
更多classList
: https://developer.mozilla.org/en-US/docs/Web/API/Element/classList
很容易就是最好的答案。不知道为什么没有更多upvotes。 – bryce 2017-10-05 00:22:25
我写检查,如果类将它添加到元素之前存在JavaScript的唯一功能。通过使用下面的代码(您可以随时使用classList
这里提到的,但这种支持与IE10开始。)
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);
<div id="some-element"></div>
在普通的JavaScript检查类别的存在。在这里,我检查EL(元素)具有tempClass或不
var el = document.getElementById("div1");
...
if (el.classList.contains("tempClass")){
return true;
}
- 1. 如何添加内容到一个JPanel后,只有它已经布局
- 2. JQuery:添加类到元素,如果它有文本
- 3. DOM0/DOM1 javascript:如果元素有边框删除它,如果没有添加它
- 4. 我正试图给已经扩展UIView的类添加一个动画,但它并没有添加它!
- 5. 哪个更快?检查一个元素是否已经在一个集合中,如果没有添加它或只是添加它?
- 6. 只将类添加到单击的元素,它的孩子
- 7. ,如何检查元素是否有一个元素没有移动到它
- 8. JQuery的追加项目,只有当它已经超脱
- 9. Panel.FindControl()方法,没有发现已被添加到它
- 10. findcontrol没有找到动态添加的控件,它只是在
- 11. 添加需要选择,但它已经有一个值
- 12. 红宝石轨我已经加入微克至尚的Gemfile它说,它没有
- 13. 如何删除拖动的元素,只有当它有一个特定的类?
- 14. 如何使定位到合适的元素:0,如果它已经离开:0的风格在它的类
- 15. GAE没有看到gunicorn,但它已经安装
- 16. 适用toggleclass功能,它已经一类元素
- 17. 只有在添加了另一个类时才将类添加到元素中
- 18. jquery:将#hash添加到所有链接,如果它还没有?
- 19. 如何页面gridview已经有数据绑定到它?
- 20. 如何选择元素时,我已经有一个DOM元素
- 21. 有没有办法判断它已经与find_or_create_by
- 22. 如何将元素添加到只有迭代器的容器?
- 23. 如何找到只有在文本2 iframe和添加一个类它
- 24. 如何添加到元素,如果需要首先创建它
- 25. 如果元素具有已动态添加类,然后做
- 26. 如何检测BLE设备已经没有连接到它在Android
- 27. jQuery - 如何隐藏DIV元素只有当点击它外面
- 28. 当它有类型接口时如何添加条目到syncmap.Map
- 29. 一旦它已经被加载,如何抓取一个DOM元素
- 30. 如何添加元素而不指定它是什么类型的元素?
这不会工作,因为$(这)将不参考$(“元素”) – 2012-03-01 12:03:31
好点!改变... – Alex 2012-03-01 12:04:22
为什么不只是'$('element')。addClass('class_name');'jquery会检查你的类的存在 – 2016-05-31 09:42:50