是否可以使用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在按下按钮时返回.
$('this')[0].nodeName和之间有什么区别$('this')[0].tagName?
我通过ID名称匹配ASP.Net生成的元素,但是我有一些元素可以呈现为文本框或标签,具体取决于页面上下文.我需要弄清楚匹配是否是文本框或标签,以便知道是通过val()还是通过html()获取内容.
$("[id$=" + endOfIdToMatch + "]").each(function () {
//determine whether $(this) is a textbox or label
//do stuff
});
Run Code Online (Sandbox Code Playgroud)
我找到了一个不起作用的解决方案,只返回"undefined":
$("[id$=" + endOfIdToMatch + "]").each(function () {
alert($(this).tagName);
});
Run Code Online (Sandbox Code Playgroud)
我错过了什么?
如果我有两个这样的DOM元素:
<img id="test1" src="xyz" />
<a id="test2" href="#">Test 2</a>
我在jQuery中选择它们是这样的:
$('#test1') 和 $('#test2')
我希望能够返回img和a分别.使用vanilla Javascript或jQuery,最好的方法是什么?
所以我试图传递输入ID并获取其相应的类型.
例如.
<input id = "1" type = "date"/>
<input id = "2" type = "text"/>
Run Code Online (Sandbox Code Playgroud)
所以传递"1"将返回日期,传递"2"将返回文本.
我看了几个例子,但没有一个适用于我的案例:
到目前为止我所拥有的:
$("#my_select").on('click',function(){
var fieldID = document.querySelector('.selected').id
console.log("id is " + fieldID);
var elementType = $(this).prev().prop('.selected');
console.log("element type " + elementType)
});
Run Code Online (Sandbox Code Playgroud)