2009-11-19 181 views
0

我想用javascript改变一个元素的值。这为什么不工作?

<span id="mixui_title">Angry cow sound?</span> 


<script type="text/javascript"> 
$("#mixui_title").val("very happy cow"); 
</script> 
+0

你怎么触发这个改变? – 2009-11-19 19:56:32

+0

@Virat本例中不需要触发器。 – 2009-11-19 22:52:31

+0

问题标题可能会更好... – 2009-11-19 22:53:36

回答

3

使用文本方法来代替:

$("#mixui_title").text("very happy cow"); 
2

尝试html()函数:

<span id="mixui_title">Angry cow sound?</span> 

<script type="text/javascript"> 
$("#mixui_title").html("very happy cow"); 
</script> 
+0

这里的文字可能更合适。但是,再一次,这可能会削减头发。如果脚本放置在页面中的元素之后,则不需要 – 2009-11-19 22:52:00

-1

它不是由

$(document).ready(function(){ 
    //your code goes here 
}); 
+0

,例如提交者示例 – 2009-11-19 22:49:36

1

两件事封闭:

1- Usualy,JavaScript放置在页面的顶部。如果你这样做,将来,你需要需要括在了jQuery等价的document.ready的:

$(function() { 
// do stuff 
}); 

这告诉了jQuery尽快运行功能的文件已准备就绪。

2-对于两个打开/关闭标记之间的任何值,需要使用jQuery方法.html(“输入文本以更改”),而.val()方法用于更改任何控件的值属性值=“”喜欢的输入:

<input type="submit value="This will be changed with val()" /> 

以下应该可以正常工作。注意它包装在$(function(){});并使用.html()属性并放置在页面的顶部。

<script type="text/javascript"> 
$(function(){ 
    $("#mixui_title").html("very happy cow"); 
}); 
</script> 

<span id="mixui_title">Angry cow sound?</span> 
+0

实际上,出于性能原因,JavaScript应放置在页面的底部。请参阅:http://developer.yahoo.com/performance/rules.html#js_bottom – 2009-11-19 22:49:13

+0

JavaScript通常应放置在页面底部以增加页面渲染时间。请参阅:http://developer.yahoo.com/performance/rules.html#js_bottom – 2009-11-19 22:49:15

+0

@Josh Hinman很好玩 – 2009-11-19 22:49:53