我有一种情况,这三件事情同时为真。发生了什么事?
这是dom中的元素:
<input id="destroy_vehicle_section_4" name="driver[workables_attributes][0][_destroy]" type="text" value="1">
使用JQuery的val方法(或javascript&#39; s getElementById()。value)更改属性值后,使用控制台:
> $("#destroy_vehicle_section_4").val()
<- "test"
...... DOM保持不变。
我也可以使用JQuery的attr方法
更改值> $("#destroy_vehicle_section_4").attr("value")
<- "hey"
DOM保持不变,第二个调用仍然显示&#34; test&#34;
这怎么可能?
这意味着我尝试使用jQuery更改输入失败。
N.B:我正在使用jQuery Mobile。
修改
对不起的解释感到抱歉。我首先使用attr(&#34;值&#34;,&#34;嘿&#34;)和val(&#34; test&#34;),控制台调用都没有改变DOM元素。但是如果你运行&#34; Getter&#34;控制台中的行,你得到上面的
答案 0 :(得分:1)
要获取一个值,您可以使用jQuery&#39; s .val()
要设置一个值,您需要将变量传递给参数.val("hey")
要获取属性值,您可以使用jQuery&#39; s .attr("value")
要设置属性值,您需要将第二个参数设置为.attr("value", "hey")
以上内容也适用于.prop()
方法
如何正确使用这些方法,我建议你参考官方的jQuery文档。
答案 1 :(得分:0)
尝试在onclick,onload或document.ready()内部执行您的功能,或者只是
$(function(){
//your functions here...
});