如何使用jQuery获取包含我的选择框的类的名称?
我尝试过以下无效,认为它会起作用,答案应该是警惕的(“select_wrapper”)
$('#content select').focus(function(e){
var eClass = $(e).get(0).attr('class')//$(e).attr('class')
alert(eClass)
});
HTML:
<div id="content">
<div class="select_wrapper">
<select id="profession">
<option value=""></option>
<option>administrator</option>
<option>web developer</option>
<option>graphic artist</option>
<option>IT professional</option>
<option>other</option>
</select>
</div>
</div>
答案 0 :(得分:1)
您可以使用$(this)
的方法.parent()访问父元素,然后您可以使用.attr()来获取类名
$('#content select').focus(function (e) {
var eClass = $(this).parent().attr('class');
alert(eClass)
});
在您的代码中e
是事件
答案 1 :(得分:1)
无需在函数内部使用jQuery
方法进行此类任务,只需使用(高效)“vanilla JS”
$('#content select').focus(function(e){
var eClass = this.parentNode.className;
alert(eClass)
});
Codepen示例:http://codepen.io/anon/pen/aEmIB
答案 2 :(得分:1)
$('#content select').focus(function(){
var eClass = $(this).parent().attr('class');
alert(eClass);
});
这将获取父级并输出类。
答案 3 :(得分:0)
您正在使用e
作为jQuery选择器,但它不是元素,而是事件。您应该尝试使用this
。
然后,要选择父级,jquery具有.parent()
方法。
然后你可以使用.attr()
:
var eClass = $(this).parent().attr('class');
但你不能使用jquery和goilla js。这并不复杂:
var eClass = this.parentNode.className;
答案 4 :(得分:0)
试试这个,
$('#content select').focus(function(e){
var eClass = $(this).parent().attr('class');
alert(eClass)
});