2017-08-28 76 views
0

也許我錯過了什麼,但無論我讀它是建議,如果我想查一個jQuery構造函數是否返回一個jQuery對象是通過完成:檢查jQuery對象中有html元素

if(jQuery('.something').length){...}

但我將如何驗證它是否是它返回的jQuery對象中的html元素?

我的意思是,這也將返回true:

if(jQuery(44551).length){...}

雖然它返回jQuery對象它不具有HTML元素在裏面。

+0

jQuery的選擇器只返回HTML元素。 –

+0

但如果我向jQuery構造函數提供一個數字,它將不會返回html元素。 –

回答

1

你可以使用is()檢查,如果集合包含一定的選擇

var someelement = $(....); // unknown 

if (someelement.is('.something')) {... 
相匹配的元素

根據選擇器,元素, 或jQuery對象檢查當前匹配的元素集,並返回true,如果這些元素中的至少一個爲 匹配給定的參數。

+0

好的解決了我的問題。 $('。never-mind')。is('。never-mind')'返回true(當然,在驗證.never-mind存在之後),並且$(555).is(555)'返回false 。謝謝你,小夥伴 –

0

要檢查是否有一個jQuery元素中的HTML元素,然後執行:

if ($('.el').html().length) { ... 
+0

如果我向jQuery選擇器提供一個數字,那麼你的代碼會拋出一個錯誤,我可以將它包裝在一個try-catch語句中,但@ adeneo的解決方案更簡單。謝謝。 –