我通过ID名称匹配ASP.Net生成的元素,但我有一些元素可以呈现为文本框或标签,这取决于页面上下文。为了知道是通过val()还是通过html()获取内容,我需要确定匹配的是文本框还是标签。
$("[id$=" + endOfIdToMatch + "]").each(function () {
//determine whether $(this) is a textbox or label
//do stuff
});
我找到了一个不起作用的解决方案,它只返回"undefined":
$("[id$=" + endOfIdToMatch + "]").each(function () {
alert($(this).tagName);
});
我遗漏了什么?
发布于 2008-12-04 20:24:49
只需多加一个jQuery:
$("[id$=" + endOfIdToMatch + "]").each(function () {
alert(this.tagName);
});
发布于 2010-02-19 04:45:52
你也可以使用类似这样的东西:
if ($(this).is('input:checkbox'))
将"this“替换为所需的任何实例,将”checkbox“替换为所需的任何输入类型。
发布于 2008-12-04 20:24:18
这是我第一次回答自己的问题。在进行了更多的实验之后:
$("[id$=" + endOfIdToMatch + "]").each(function () {
alert($(this).attr(tagName));
});
成功了!
https://stackoverflow.com/questions/341900
复制相似问题