我想了解究竟是什么组合
... value id= ...
in
<input type="text" name="session_key" value id="session-key-login">
一样。请注意,该值后面紧跟id。
我的问题是,只要在输入字段中发生这种组合(例如在Facebook登录页面“电子邮件或电话”字段(仅限)和LinkedIn登录页面中的任何位置),
document.getElementById(..).focus()
方法失败。我确信“value id”组合可以做一些非常重要的事情,因为Facebook仅将其用于一个字段,而所有其他字段都没有id之前的空值字段。
提前致谢。
答案 0 :(得分:4)
它们是两个完全不同的属性。请注意,属性由空格分隔,因此即使之后没有=
指定,如在您的示例中,它也是一个独特的属性,而不是与下一个属性结合。
value
定义输入的值(在呈现页面时预先填充的值)。如果保留为空(如在您的示例中),则不执行任何操作。但是,如果您这样做了,value="hi"
,则文本框将预先填入“hi”
id
指定输入的唯一标识名称。它用于访问DOM中的元素,使用JavaScript,例如document.getElementById('session-key-login')
答案 1 :(得分:0)
我想我找到了我的焦点()问题的答案。
我发现的是在页面上,一旦关注所需的元素,就调用focus()。但是,对同一元素的第二次调用失败,除非使页面明确地丢失前一个焦点,例如,通过在同一元素上调用blur()方法。
我可能错了,但我的猜测是Facebook会在加载时隐式/自动关注“电子邮件”字段,因此我的第二个焦点不会做任何事情。虽然它适用于其他领域。
因此,Steven Moseley的解释紧紧抓住:)
谢谢, NIKHIL