确定所选元素是否为表单字段(即输入、选择、复选框等)的任何便捷方法?
问问题
7271 次
4 回答
16
您可以使用.is(':input')
它来测试它是否是任何类型的表单元素。
文档参考:
- http://api.jquery.com/is/ -根据选择器检查当前匹配的元素集...
- http://api.jquery.com/input-selector/ -选择所有输入、文本区域、选择和按钮元素。”
于 2012-07-27T13:49:28.087 回答
4
使用纯 JavaScript:
$("#someelement")[0].tagName // will return name of tag (div, p, input, select, etc...)
任何 jQuery 对象的第一个索引[0]
都将返回其 DOM 对象。完全在 javascript 中完成:
document.getElementById("someelement").tagName;
于 2012-07-27T13:50:22.313 回答
1
在纯JavaScript 中,您可以执行类似Sizzle Engine的操作
/^(?:input|select|textarea|button)$/i.test(el.nodeName)
例子
/**
* Test is form action element
* @param {Object} el
* @return {Boolean} true if a form action element
*/
const isInput = el => /^(?:input|select|textarea|button)$/i.test(el.nodeName);
// DEMO:
document.querySelectorAll('.foo').forEach(el => console.log(isInput(el)));
<textarea class="foo">test</textarea>
<button class="foo">test</button>
<input class="foo" type="text">
<div class="foo">test</div>
<p class="foo">test</p>
https://github.com/jquery/sizzle/blob/master/src/sizzle.js#L139
于 2019-09-02T07:27:16.490 回答
-1
于 2012-07-27T13:52:36.313 回答