<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设置了属性,没反应耶?
附加问题:能不能设置多个属性?例如同时设置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>)是针对某一块的, 我就会放在那一块的附近!!