如何將元素添加到元素只有當它已經沒有它?假設我們不知道元素是否有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