CMP*_*mer 72 html javascript asp.net jquery
我通过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)
我错过了什么?
Tom*_*lak 92
只是一个jQuery太多了:
$("[id$=" + endOfIdToMatch + "]").each(function () {
alert(this.tagName);
});
Run Code Online (Sandbox Code Playgroud)
Chr*_*vén 32
不使用each()就考虑这个解决方案:
var elements = $("[id$=" + endOfIdToMatch + "]");
var vals = elements.is("input").val();
var htmls = elements.is("label").html();
var contents = vals.concat(htmls);
Run Code Online (Sandbox Code Playgroud)
Jel*_*gab 24
你也可以使用这样的东西:
if ($(this).is('input:checkbox'))
Run Code Online (Sandbox Code Playgroud)
将"this"替换为您需要的任何实例,将"checkbox"替换为您需要的任何输入类型.
我第一次回答自己的问题.经过一些实验:
$("[id$=" + endOfIdToMatch + "]").each(function () {
alert($(this).attr(tagName));
});
Run Code Online (Sandbox Code Playgroud)
作品!
归档时间: |
|
查看次数: |
67031 次 |
最近记录: |