初学jquery遇见的两个小问题!

<body>
    <div id="divtest">div的内容</div>
    <div id="default"></div>
</body>
<script type="text/javascript">
$(function(){
   $("#divtest").html("11");
   $("#default").html($("#divtest").html("22"));
});

问题1:我的理解是出现11 22 ,实际上是只出现22。为什么?

因为html方法是完全替换掉里面的HTML

$("#divtest").html("11");  => <div id="divtest">11</div>

你想要是 1122 的话, 是调用另外一个方法, $("#divtest").append(“22”);

Append方法叫追加, 但追加方法有几个, 而append是在$("#divtest")里面的HTML后面追加

还有另外几个,

初学jquery遇见的两个小问题!

自己看看文档, 里面有说明, 而且还有实例demo

<body>

<button id="btntest">点我</button>

</body>

<script type="text/javascript">

$(function(){

$("#btntest").attr("width","100");

});

</script>

问题2:为什么我在JQ设置了属性,没反应耶?

附加问题:能不能设置多个属性?例如同时设置width和height

这个是有反应的, 你运行这行代码后, 再看那个div是不是多了一个width属性,

至于为什么没效果呢, 是因为div标签本身是没有width属性的, 所以浏览器对其不解析

像width和height这些是css的属性, 不是用attr的, 而是用css方法

如, $("#btntest").css("width","100px");  css的调用方法还有一种

像 $("#btntest").css({"width":"100px", “height”:”100px”}); 这样

但注意的是像margin-top这种, 属性名是marginTop  要知道会是什么, 就要用console.log() 这个输出一个元素对象, 再看其style对象

$(function(){});

问题3:这个function有什么作用?为什么有些加了它之后,{}里面的代码才有作用,有些不用加这个,就能用了?

$(function(){

//你的代码

});

这个是相当于

Window.loaded = function(){

//你的代码

}

作用是让浏览器加载完所有资源, 像js, css, 还有html后, 再运行你的代码

不然, 如果你不加这个, 又把你的js代码放在html的前头, 那么在html还没有加载完就运行了你的js代码, 你觉得会发生什么事呢

<script></script>

问题4:js的链接为什么有些是放在<head>里面,有些是放在<body>。。。这个放的位置有什么讲究吗?

前提是你加了前面的$(function(){}); 那么放哪里都没问题

一般针对整个页面的, 我都是放在head里, 这样方便管理, 一眼看去就知道缺了还是多了!!  但有一些js文件或者js块(<script></script>)是针对某一块的, 我就会放在那一块的附近!!

上一篇:oracle内置sql函数(转)


下一篇:谷歌浏览器隐藏url前缀问题