初学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设置了属性,没反应耶?
附加问题:能不能设置多个属性?例如同时设置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>)是针对某一块的, 我就会放在那一块的附近!!
最新文章
- 精通css 高级web标准解决方案——可视化格式模型-定位模型
- 一起阅读《Java多线程编程核心技术》
- Shell文本处理 - 分割合并与过滤
- ASP.NET MVC 请求流程:Route
- Xcode pch文件问题
- 多个UITableView横向切换的简单实现(有点类似网易新闻)
- 「Poetize5」水叮当的舞步
- zookeeper 集群 Cannot open channel to X at election address Error contacting service. It is probably not running.
- android怎样查看当前project哪些profile是打开的
- 善用log日志
- 要让CLR挂掉的话……
- linux学习(一)认识、安装Linux
- 获取select中的值
- Docker创建 tomcat/weblogic 集群
- 利用SHA-1算法和RSA秘钥进行签名验签(带注释)
- Confluence 6 通过 SSL 或 HTTPS 运行
- 第十二次作业 - Beta答辩总结
- [PHP]算法- 二叉树的深度的PHP实现
- 放弃 Tightvnc, 选择 Tigervnc
- 《找出1到正整数N中出现1的次数》