在Mootools中,我只是運行if ($('target')) { ... }
。 jQuery中的if ($('#target')) { ... }
是否以相同的方式工作?如何檢查選擇器是否匹配jQuery中的某些內容?
回答
至於其他評論者使用所提出的建議最有效的方式做到這一點似乎是:
if ($(selector).length) {
// Do something
}
如果你絕對必須有一個exists()函數 - 這將slower-你可以這樣做:
jQuery.fn.exists = function(){return this.length>0;}
然後在你的代碼,你可以使用
if ($(selector).exists()) {
// Do something
}
作爲回答here
謝謝!在我的搜索中找不到那個,但這正是我需要的。 – 2008-11-18 19:30:39
這個時候.length的長度是否完全相同? – redsquare 2010-05-27 03:19:43
這是我見過的一些愚蠢的插件...... – 2010-05-27 04:26:54
不,jQuery總是返回一個jQuery對象,無論選擇器是否匹配。 您需要。長度
if ($('#someDiv').length){
}
這比接受的答案的第二個建議更實際。 (爲什麼你會引入一個更慢和更長的選擇來簡單地檢查長度!)。我也注意到你的答案是更早的+1 :) – 2015-09-15 13:31:11
或者:
if(jQuery('#elem').get(0)) {}
,如果你使用:
jQuery.fn.exists = function(){return ($(this).length > 0);}
if ($(selector).exists()) { }
你將意味着鏈是可能時,它不是。
這將是更好的
jQuery.exists = function(selector) {return ($(selector).length > 0);}
if ($.exists(selector)) { }
if ($('#elem')[0]) {
// do stuff
}
還有一種方法:
$('#elem').each(function(){
// do stuff
});
對我來說.exists
不工作,所以我使用索引:
if ($("#elem").index() ! = -1) {}
我想大多數人回答h我不太明白這個問題,否則我可能會誤解。
問題是「如何檢查jQuery中是否存在選擇器」。
大多數人都將此視爲「如何使用jQuery檢查DOM中是否存在元素」。幾乎不可互換。
jQuery允許您創建自定義選擇器,但在這裏看到當初始化它時嘗試在e上使用時會發生什麼;
$(':YEAH');
"Syntax error, unrecognized expression: YEAH"
運行到這之後,我意識到這是簡單的檢查
if ($.expr[':']['YEAH']) {
// Query for your :YEAH selector with ease of mind.
}
乾杯的問題。
我喜歡
if (jQuery("#anyElement").is("*")){...}
這基本上檢查,如果這個元素是一種「*」(任何元素)。 只是一個更清晰的語法和「是」,使內部的「如果」
首先創建一個功能更多的意義:
$.fn.is_exists = function(){ return document.getElementById(selector) }
然後
if($(selector).is_exists()){ ... }
jQuery.fn.exists = function(selector, callback) {
var $this = $(this);
$this.each(function() {
callback.call(this, ($(this).find(selector).length > 0));
});
};
- 1. 如何檢測AppleScript是否選擇了某些內容?
- 2. 如何檢查在php中是否回顯了某些內容?
- 3. 如何檢查字符串是否包含某些內容?
- 4. 如何檢查某些對象值是否與Ramda中的謂詞匹配?
- 5. 如何檢查某個選擇選項是否在jQuery中被選中
- 6. jQuery - 如何測試選擇器是否匹配任何東西?
- 7. 檢查SQLite中是否存在某些內容
- 8. 使用JavaScript或jQuery,如何檢查選擇框是否與原始值匹配?
- 9. 檢查選擇器是否
- 10. 如何檢查用戶是否在JDialogBox中輸入了某些內容?
- 11. jQuery選擇器 - 匹配內容的元素
- 12. 檢查密碼是否與jquery匹配
- 13. jQuery:如何檢查是否在選擇框中明確選擇了否選項
- 14. 通過迭代器檢查某些內容是否已更改的方法
- 15. 如何檢查兩個jQuery選擇器是否選擇了相同的元素
- 16. 如何檢查'選擇'是否有一些選項?
- 17. 是否存在某些內容的div
- 18. 檢查URLquery是否匹配
- 19. 用於匹配類的某些位置CSS選擇器
- 20. 檢查是否選擇匹配特定類元素標記
- 21. 如何檢查選擇器是否包含SASS中的子選擇器X?
- 22. jQuery的顯示在無線電某些內容選擇
- 23. 如何編輯css選擇器來測試Firebug中的某些內容?
- 24. 檢查是否使用jQuery選擇ID
- 25. 如何檢查是否未選擇jQuery選項卡元素
- 26. 如何顯示是否使用複選框在視圖中檢查了某些內容?
- 27. 檢查某些元素是否是沒有jQuery的「聚焦」
- 28. 新手查詢:如何將組合選擇器與jQuery匹配?
- 29. 如何檢查listbox中某些特定的單詞是否被選中?
- 30. 如何檢查JDBC表中的某些列是否爲Java
也請參閱[是否有`存在`功能的jQuery?](http://stackoverflow.com/questions/31044/is-there-an-exists-function-for-jquery) – Bergi 2013-08-02 14:08:26