如何访问包含相应命名输入的表单的id或样式
How to access a form's id or style if it contains accordingly named inputs?
在这个例子中
<form id="form1">
<input type="text" name="style">
</form>
<form id="form2">
<input type="text" name="id">
</form>
不能访问form1的样式声明或form2的id,因为命名的输入遮蔽了相应的属性。
其他属性也一样
工作区吗?
编辑:显然,getAttribute
对id
起作用。style
、childNodes
、tagName
等均不存在
我在找这样的东西:
getDomProp = (function() {
if (window.__lookupGetter__) {
var cleanForm = document.createElement('form');
return function(form, key) {
// works in Firefox, fails in Opera:
return cleanForm.__lookupGetter__(key).call(form);
};
} else if (Object.getOwnPropertyDescriptor) {
return function(form, key) {
// does not work at all:
// return Object.getOwnPropertyDescriptor(cleanForm, key).get.call(form);
}
} else {
throw 'Not supported.';
}
})();
小提琴
仍然可以:
form.getAttribute('id');
p。不要在产品代码中命名你的输入:)
使用getAttribute
获取相应的表单属性:http://jsfiddle.net/6d8sx/3/
alert('id: ' + form.getAttribute('id'));
编辑: getAttribute
似乎在IE9, FF5中工作(不确定其他)。
然而,以这种方式命名元素会导致问题(如果不是你的代码,那么一些库或插件可能会混淆)。
使用.getAttribute();
访问它们http://reference.sitepoint.com/javascript/Element/getAttribute
使用jquery: $('#form1').css()
,或$('#form2').attr('id')
.
相关文章:
- Nodejs服务器在解析之前生成输入表单
- 如何创建打开警报框的输入表单
- JavaScript onChange 事件侦听器对输入表单不起作用
- 如何在 OnKeyPress 事件后获取输入表单元素的值
- 单输入表单 - 特殊情况 |停止表单提交
- 需要输入表单验证
- 如何在谷歌图表中使用输入表单值
- 使用jquery可交换地更改两个html输入表单值
- 当从jqueryajax调用输入表单时,它不起作用
- 控制器作为搜索输入表单的语法
- 删除带有按钮的输入表单失败
- 验证带有2个小数点的浮点形式的输入表单
- AngularJS:输入表单在分部中不起作用
- 如何从php中的输入表单调用Javascript函数,以更改HTML
- 输入表单中的Sharepoint javascript
- 当点击输入表单时,为Raphael制作的对象添加光晕
- 当用户将数据输入表单时要知道的事件
- 保存输入表单后ImageMap颜色更改
- 链接输入表单中的填充脚本
- 有关多个输入表单验证的问题