扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
$(".demo").attr("_id","abc")
创新互联长期为成百上千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为绵竹企业提供专业的成都做网站、网站建设,绵竹网站改版等技术服务。拥有十年丰富建站经验和众多成功案例,为您定制开发。
//attr可以获取或者给demo上添加自定义的_id属性。
//如果修改class类名之类的,可以
$(".demo").addClass("abc")//添加class
$(".demo").removeClass("abc")//删除class
attr方法可用2113来获取或设置属性5261,根据参数4102个数的不同来定时获取还1653是设置内,当只有1个参数时容表示获取属性值,当有2个参数时表示设置元素属性。
例如将图片的宽度设置成150:
$("img").attr("width","150");
//参数有width和150,所以是设置
例如获取图片的宽度:
$("img").attr("width");
//参数只有width,所以此时是获取
$("元素表达式").attr("属性名")
如:$("#textid").attr("width")是获取id为textid的控件的width属性
$(".classname").attr("width")是获取包含class名为classname的控件的width属性
$("[name=textname]").attr("width")是获取name为textname的控件的width属性
但要注意,jquery取到的可能是一个数组,如果确定属性为同一值,则没问题,否则应该循环取得控件,再取属性值
如:$("#textid")[0].width是取第一个控件的width属性
但也有写属性用attr取不到,也需要用角标的方式取得控件后在取属性
A、prop() 方法设置或返回被选元素的属性和值。
当该方法用于返回属性值时,则返回第一个匹配元素的值。
当该方法用于设置属性值时,则为匹配元素集合设置一个或多个属性/值对。
注意:prop() 方法应该用于检索属性值,例如 DOM 属性(如 selectedIndex, tagName, nodeName, nodeType, ownerDocument, defaultChecked, 和 defaultSelected)。
提示:如需检索 HTML 属性,请使用 attr() 方法代替。
提示:如需移除属性,请使用 removeProp() 方法。
B、val() 方法返回或设置被选元素的值。
元素的值是通过 value 属性设置的。该方法大多用于 input 元素。
如果该方法未设置参数,则返回被选元素的当前值。
C、removeAttr() 方法从被选元素中移除属性。
D、设置或返回匹配元素的样式属性
故,此题选择A
jQuery获取方法
data()方法
//HTML代码 div id="myDiv" data-appid="123" data-myname="lsxj" data-app-id="456" data-my-name="secondname"/div
//获取属性
var appid = $("#myDiv").data("appid"); //123
var app-id = $("#myDiv").data("app-id"); //456
//属性赋值 $("#myDiv").data("appid","666");
//最终HTML代码 div id="myDiv" data-appid="123" data-myname="lsxj" data-app-id="456" data-my-name="secondname"/div
需要注意的是,data()的值进行修改并不会影响到DOM元素上的data-*属性的改变。data()的本质其实是将一个 “cache” 附加到了对象上,并使用了一个特殊的属性名称。
所以上述代码中,虽然对div进行了data()赋值操作,但HTML代码中div的data-appid的值仍然为123,因为data()只是修改了缓存的那个值,此时进行$('#myDiv').data("appid")的操作,输出的结果为666.
js获取data-*的方式
通过dataset属性访问
//HTML代码
div id="myDiv" data-appid="123" data-myname="lsxj"/div
//js代码
var div = document.getElementById("myDiv");
var appId = div.dataset.appid;//获取data-appid的值
var myName = div.dataset.myname;//获取data-myname的值
//设置值
div.dataset.appid = 456;
div.dataset.myname = "newname";
//最终HTML结果
div id="myDiv" data-appid="456" data-myname="newname"/div
dataset属性的值是DOMStringMap的一个实例,名值对的映射。每个data-name形式的属性都有一个对应的属性,只不过该属性名没有data-前缀。
兼容性:
需要注意的是,dataset中大小写的问题。带连字符连接的名称在使用的时候需要命名驼峰化。例如data-my-name对应的是dataset.myName的值。可看以下代码
//将上面代码的设置值部分进行修改
div.dataset.appId = 789;
div.dataset.myName = "secondname";
//最终结果
div id="myDiv" data-appid="123" data-myname="lsxj" data-app-id="456" data-my-name="secondname"/div
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流