- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 Javascript 中,我通常使用语法document.formname.checkbox[0].checked
,但我注意到几乎其他人都使用 document.getElementById('checkbodi').checked
。如果这看起来是一个愚蠢的问题,我很抱歉,但我想知道我的首选语法是否已被弃用,或者其他人是否只是使用更方便的语法?
最佳答案
各自的含义:
document.formname.checkbox[0].checked
这使用表单和元素的 name=
属性来选择所需的元素。这很好,因为有时您不想到处都用 ID 弄脏您的标记,并且您更喜欢使用名称,这是大多数表单都具有的内容(因为默认提交使用名称作为键)。
这样做的潜在问题是它有点冗长,并且可能不太可读。
document.getElementById('checkboxId').checked
这很简单,只需插入一个 ID 并获取正确的元素,但要获取表单中的任何元素,它还必须有一个 ID,这可能非常烦人。
<小时/>document.querySelectorAll('#myForm input[type=checkbox]')[0].checked
这里有一个替代解决方案,它使用CSS选择器和document.querySelectorAll()
,我觉得它更具可读性,特别是对于那些精通CSS而不是JavaScript的人来说。
哪个更好?取决于您的特定用例和偏好。我喜欢使用 querySelector 和 querySelectorAll,特别是如果我已经在变量中拥有表单 DOM 对象:
myForm.querySelector('input[type=checkbox]').checked;
这取决于你。
关于javascript - document.formname.checkbox[0].checked 与 document.getElementById ('checkbox' ).checked,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33726995/
我请求你帮助我克服这个错误:“NewAnnouncementForm”没有属性“error_messages” 所以,我有一个“公告”模型: class Announcement(models.Mod
我有一个使用 IIS Express 在我的 XP 系统上本地运行的 ASP.NET 站点。该网站有一个在 Windows 服务器上运行的实时版本。 在网页中,Javascript 通常会使用 doc
我有一行 HTML 下拉列表,每当用户选择其中一个选项时,它就会通过提交表单的类调用 jQuery 函数。 >Uplift savev
当名字等于姓氏时,我想用 angular 设置无效,并使用样式将颜色更改为红色。 http://jsbin.com/japir/2 function RegoController($scope) {
我目前正在开发一个应用程序,但在 IE8 上遇到困难。 我有以下代码: ?action=insertBlogger" > Blog's name: URL: Bl
许多人正在编码为 document.FORMNAME。超过 document.forms.FORMNAME。 当然。它适用于任何浏览器。 此外,document.FORMNAME.FIELDNAME
我有一个简单的表单,其中的字段是通过名为 field 的指令动态生成的。当我点击提交时,字段被验证并生成一个有效的类名,例如 ng-invalid、ng-invalid-email。但是表单的类名总是
我的 Angular 应用程序中有一个表单,html 代码如下,但 formName.$valid 始终为 true,即使输入字段为空。
我正在尝试使用本教程创建一个小的 CRUD 应用程序: http://www.yiiframework.com/wiki/490/creating-a-simple-crud-app-with-yii
我正在学习 angularjs 并使用 ng-show 进行表单验证,但它不起作用。我将 form's name.input's name.$error && !form's name.input's
快速提问。 我目前正在做一些 js(前/前端验证),我的问题是哪一行代码更好用。我自己一直使用这种方法。 document.formname.forminput.value 而不是 $('form
目前只是尝试实现这些按钮:http://web.archive.org/web/20110721191046/http://particletree.com/features/rediscoverin
在 Javascript 中,我通常使用语法document.formname.checkbox[0].checked,但我注意到几乎其他人都使用 document.getElementById('c
我有一个 Angular react 形式,在提交时我有这个代码: (ngSubmit)="addVideo(); addVidForm.reset();" 我用#addVidForm标记我的主窗体
我是一名优秀的程序员,十分优秀!