我有一个列表框(有时)也使用OptionGroups,这意味着如果我在列表框中选择某个OPTION的父级,如下所示:
var optionGroup = $(this.options(index)).parent();
它既可以是OptionGroup(如果使用的话),也可以是Select元素本身。
有没有一种简单的方法可以确定我在这里处理哪种对象?
答案 0 :(得分:1)
您要查找的信息是DOM元素的tagName
属性。你会从像这样的jQuery元素中得到这个:
$("#element")[0].tagName
在比较之前,建议在物业上进行.toLowerCase()
。
答案 1 :(得分:1)
我认为它可以与
一起使用if($(this.options(index)).parent().is('select'))
{
//your code here
}
答案 2 :(得分:1)
您可以使用.parent('optgroup')
。这将过滤掉任何不是选项组的内容。然后你必须检查你是否得到了结果。
答案 3 :(得分:1)
如果您真的想要这个,以确定是否需要另一个.parent()
来获取<select>
,那么就有一个方法,.closest()
,就像这样:
$(this.options(index)).closest('select');