我希望迭代表单,将每个元素添加到一个区域。问题在于其中一些元素是选择、输入和文本框。我知道我可以使用 :input
来解决这里的问题(尽管,我真的不需要)。问题是我无法确定如何查看该元素是否是文本区域、输入、选择等。我需要正确执行此操作,因为据我所知, jQuery("input #someinput").val()
对于输入非常有效,但对于文本区域,我可能需要 jQuery("textarea#sometexarea").text()
。我不确定这是否存在......
无论如何,这是我到目前为止的功能:
function getAllFormElements(id) {
var elements = new Array();
jQuery(id).children().map(function(){
for (var index = 0; index < children.length; index++) {
elements[i] = jQuery(children[i]).val();
}
})
return elements;
}
最佳答案
val()与<input>
同样有效, <select>
和<textarea>
元素。
如果您仍想确定 :input
匹配的元素的实际类型选择器,您可以使用 is()与 element selectors :
$(":input").each(function() {
var $this = $(this);
if ($this.is("input")) {
// <input> element.
} else if ($this.is("select")) {
// <select> element.
} else if ($this.is("textarea")) {
// <textarea> element.
}
});
关于jquery - jQuery 中确定输入与文本区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8300584/