jquery attr方法 jquery实现文件下载
大家好,今天来为大家解答jquery attr方法这个问题的一些问题点,包括jquery实现文件下载也一样很多人还不知道,因此呢,今天就来为大家分析分析,现在让我们一起来看看吧!如果解决了您的问题,还望您关注下本站哦,谢谢~
jQuery学习之prop和attr的区别
prop和attr的根本区别在于:
1、对于HTML元素本身就带有的固有属性,在处理时,使用prop方法。
<a rel="external nofollow" href="" target="_self" class="btn">百度</a>
这个例子里<a>元素的DOM属性有“href、target和class",这些属性就是<a>元素本身就带有的属性,也是W3C标准里就包含有这几个属性,或者说在IDE里能够智能提示出的属性,这些就叫做固有属性。处理这些属性时,建议使用prop方法。
2、对于HTML元素我们自己自定义的DOM属性,在处理时,使用attr方法。
<a rel="external nofollow" href="#" id="link1" action="delete">删除</a>
这个例子里<a>元素的DOM属性有“href、id和action”,很明显,前两个是固有属性,而后面一个“action”属性是我们自己自定义上去的,<a>元素本身是没有这个属性的。这种就是自定义的DOM属性。处理这些属性时,建议使用attr方法。
扩展资料:
attr()方法设置或返回被选元素的属性值。
根据该方法不同的参数,其工作方式也有所差异。
当该方法用于返回属性值,则返回第一个匹配元素的值。
当该方法用于设置属性值,则为匹配元素设置一个或多个属性/值对
简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架)。jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情
。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。
参考资料:百度百科-jQuery
百度百科-attr()
jQuery 中 attr 和 prop 方法的区别
有的浏览器只要写disabled,checked就可以了,而有的要写成disabled="disabled",checked="checked",比如用attr("checked")获取checkbox的checked属性时选中的时候可以取到值,值为"checked"但没选中获取值就是undefined。
jq提供新的方法“prop”来获取这些属性,就是来解决这个问题的,以前我们使用attr获取checked属性时返回"checked"和"",现在使用prop方法获取属性则统一返回true和false。
那么,什么时候使用attr(),什么时候使用prop()?
1.添加属性名称该属性就会生效应该使用prop();
2.是有true,false两个属性使用prop();
3.其他则使用attr();
以下是官方建议attr(),prop()的使用:
jQuery常用属性和方法有哪些
属性:
获得标签:$("#id")
获得标签内的代码:.html()
获得标签内的文本:.text()
修改标签内的代码:.html("内容");
修改标签内的文本:.html("内容");
获得标签属性:.attr("属性");
修改标签属性:attr("属性","属性值");
添加样式:addClass("样式名");
动态切换样式:toggleClass("样式名");
获取样式:css
添加元素:append("元素");
移去元素:.remove();
清空节点:.empty();
获取第二个li节点: var$li=$("ul li:eq(1)");
获取第二个li节点的文本内容: var li_txt=$
方法:
一:插入节点:
append()向每个匹配的元素文本内部的后面追加内容
eg:<p>我想说:</p>
代码:
$("p").append("<b>你好</b>");结果为:<p>我想说:<b>你好</b></p>
appendto()将所有的匹配的元素追加到指定的元素中。实际上,使用该方法是颠倒了常规的$(A).append(B)的操作,即不是B追加到A中,而是将A追加到B文本的后面中。
eg:<p>我想说:</p>
代码:
$("<b>你好</b>").appendTo("p");结果为:<p>我想说:<b>你好</b></p>
prepend()向每个匹配的元素文本的内部前置内容。
eg:<p>我想说:</p>
代码:
$("p").prepend("<b>你好</b>");
结果为:<p><b>你好</b>我想说:</p>
prependto()将所有的匹配的元素前置到指定的元素中。实际上,使用该方法是颠倒了常规的$(A).append(B)的操作,即不是B前置到A中,而是将A前置到B中
eg:<p>我想说:</p>
代码:
$("<b>你好</b>").prependto("p");结果为:<p><b>你好</b>我想说:</p>
after()向每个匹配的元素之后插入内容。
eg:<p>我想说:</p>
代码:
$("p").after("<b>你好</b>");
结果为:<p>我想说:<b>你好</b></p>
insertAfter将所有的匹配的元素插入到指定的元素后面。实际上,使用该方法是颠倒了常规的$(A).append(B)的操作,即不是B插入到A后面,而是将A插入到B后面。
eg:<p>我想说:</p>
代码:
$("<b>你好</b>").after("p");结果为:<p>我想说:<b>你好</b></p>
before()在每个匹配的元素之前插入内容
eg:<p>我想说:</p>
代码:
$("<b>你好</b>").after("p");结果为:<p>我想说:<b>你好</b></p>
insertBefore():将A标签插入到B标签的前面
二:删除:
①remove该节点所包含的所有的后代节点将同时被删除也可以通过参数来选择
②empty清空节点,它能清空元素中的所有后代节点
三:替换节点:
①replaceWith()作用是将所有匹配的元素都替换成指定的HTML或DOM元素
②replaceAll()
四:包裹节点:
①warp()作用是是将所有元素进行单独包裹
②warpAll()作用元素的是所有匹配的元素用一个元素来包裹
③warpinner()作用是将每一个的子内容(包括文本节点)用其他结构化的标记包裹起来
五:设置和获取HTML、文本值
1、html():
2、text
3、val
六:遍历节点
1、children():取得匹配元素的子元素
2、next():取得匹配元素后面紧邻的同辈元素
3、prev():取得匹配元素前面紧邻的同辈元素
4、siblings():取得匹配元素前后所有的同辈元素
5、closest():取得最近的匹配元素
七:css-dom
css获取样式的属性
offset()
position
scroll
scrollLeft
样式操作:
1:获取样式和设置样式 attr
eg:<p class="myClass" title="选择你最喜欢的水果">你最喜欢的水果是?</p>
获取样式: var p_class=$("p").attr("class");
设置样式:$("p").attr("class","high");
2:追加样式 addClass
<style>
.high{
font-weight:bold粗体字
color:red字体颜色
}
.another{
font-weight:italic斜体字
color:blue字体颜色
}
</style>
追加样式:
$("input:eq(2)").click(function(){$("p".addClass("another"))})☆在css中有以下规定:
①如果给一个元素添加了多个class值,那么就相当于合并了他们的样式
②如果不同的class设置了同一样式,则后者覆盖前者
addClass attr
对同一个网页元素进行操作<p>test</p><p>test</p>
第一次使用$<"p">.addClass("high");$<"p">.attr("class","high");
第一次结果<p class="high">test</p><p class="high">test</p>
再次使用$<"p">.addClass("another");$<"p">.attr("class","another");
最终结果<p class="high another">test</p><p class="another">test</p>
3:移除样式 removeClass
<p class="high another">test</p>
移除一个:$<"p">.removeClass("high");
移除二个:$<"p">.removeClass("high").removeClass("another");==$<"p">.removeClass("high another")
移除全部:$<"p">.removeClass();
4:切换样式 toggle
5:判断是否含有摸个样式 hasClass
可以用来判断元素中是否含有某个class,如果有返回true否则返回false
好了,关于jquery attr方法和jquery实现文件下载的问题到这里结束啦,希望可以解决您的问题哈!