2011-01-31 119 views

回答

75
if(!$(el).is("select")) { 
    // the input field is not a select 
} 
+0

工作,谢谢! – Alex 2011-01-31 16:28:30

+7

记得勾选答案! (不是达林需要更多的点!) – 2011-01-31 16:36:49

+0

为什么没有原始的工作出于兴趣?它看起来应该是一目了然......你的回答似乎正在移动一些否定......我在其他人的答案中看到了答案。可能是一个好主意,将其编辑成这个,因为这是公认的答案,所以应该是唯一一个需要看的人(恕我直言)。 :) – Chris 2011-01-31 18:10:40

3

$(el).not("select")给你数组。数组总是在布尔表达式中给出true。但是在应用之后,这个元素数组将不包含选择。见工作example

+0

但我只需要一个真/假值,而不是一个数组。我怎么弄到的? – Alex 2011-01-31 16:26:00

2

.not()方法返回的一切,从原来的对象不匹配选择一个新的jQuery对象。
你不能只在这样的if陈述中使用它。

而是使用.is方法,该方法检查元素是否匹配选择器并返回布尔值。

if (!$(el).is('select')) 
1

什么给<select>标签类:

$(el+":not('.select')")

^_^

1
if($(el).selectedIndex) 

如果它有一个SelectedIndex属性,它是一个<SELECT>

2
if ($(el)[0].nodeName != 'select') 
相关问题