初学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后面追加

还有另外几个, 

 技术分享

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

 

<body>

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

</body>

<script type="text/javascript">

$(function(){

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

});

</script>

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

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

 

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

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

 

像widthheight这些是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>)是针对某一块的, 我就会放在那一块的附近!! 

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。