是否可以使用jQuery通过jQuery找出元素的类型?例如,元素是div,span,select还是input?
例如,如果我尝试使用jQuery将值加载到下拉列表中,但是相同的脚本可以将代码生成到一组单选按钮中,我可以创建类似于:
$('.trigger').live('click', function () {
var elementType = $(this).prev().attr(WHAT IS IT);
});
Run Code Online (Sandbox Code Playgroud)
给定一个下拉列表,旁边有一个带触发器类的按钮,我的elementType变量应该select在按下按钮时返回.
ade*_*neo 541
获取元素类型的jQuery方式:
var elementType = $(this).prev().prop('nodeName');
Run Code Online (Sandbox Code Playgroud)
没有jQuery就做同样的事情
var elementType = this.previousSibling.nodeName;
Run Code Online (Sandbox Code Playgroud)
检查特定元素类型:
var is_element_input = $(this).prev().is("input"); //true or false
Run Code Online (Sandbox Code Playgroud)
Jam*_*mey 16
正如Distdev所提到的,您仍然需要区分输入类型.也就是说,
$(this).prev().prop('tagName');
Run Code Online (Sandbox Code Playgroud)
会告诉你input,但这不区分复选框/文本/收音机.如果是输入,则可以使用
$('#elementId').attr('type');
Run Code Online (Sandbox Code Playgroud)
告诉你复选框/文本/广播,所以你知道它是什么样的控制.
你可以使用.is():
$( "ul" ).click(function( event ) {
var target = $( event.target );
if ( target.is( "li" ) ) {
target.css( "background-color", "red" );
}
});
Run Code Online (Sandbox Code Playgroud)
看来源