鼠标点击<a >链接的时候,怎么用js改变<a data-service-index="2" href=' '></a>中data-service-index的值??
错误问题
可以用jq改么?
$(this).attr('data-service-index',4),这样就可以了。
js是:
<a href="javascript:;" data-service-index="1" onclick="javascript:this.setAttribute('data-service-index',3)">测试</a>追问我的这是点击一个还要改变一个input的值,是不是要写一个涵数封装起来,要怎么调用呢??
追答嗯,是的
比如这样
function change(o){
o.setAttribute('')//这里是改变属性值
document.getElementById('input').value="xxxxx";//这里改变input的值。
}
onclick = “change(this)”这样就行了。
要是点击一个,改变的是另一个的data-service-index值能实现吗?
追答一样的啊,就是把this换成另一个a( document.getElementById('id') )就行了
追问还有问题,我要改变的< a >是在循环里面的,不能用ID阿。
改成这样怎么写呢:点击一个<a >后改变<ul>里面所有a的data-service-index值
不知道你用不用jq。。用jq的话更简单一点。
不用jq的话。js这么写
var dom = document.getElementById('c1').getElementsByTagName('a');//获取c1里面的a标签的集合。
for(var i=0;i<dom.length;i++){
dom[i].setAttribute();//这里获取每一个a,改变其属性。
}
我是这么写的,不起作用阿。function change(){
var dom = document.getElementById('c1').getElementsByTagName('a');
for(var i=0;i
我测试了,是可以的。
这样是改变a的index属性。。
你写的这边,dom[i].setAttribute('c700'),改变属性c700,但是没有赋值啊。。
相当于<a c700=""></a>,是会报错的。。
setAttribute(属性名称,属性值),缺一不可。
追问我发现了,但是没有实现我想要的效果阿。我在给你加点分,你帮我改改看,导航收缩效果。要改成:默认是全部展开的,点击后收缩,再点击后又展开,下这个文件:
或加我秋
下载哪一个??
本回答被提问者采纳要是点击一个,改变的是另一个的data-service-index值能实现吗?
追答可以的
$(document).on("click", "a", function(){
$(this).attr('data-service-index', '你想改变的值');
alert($(this).attr('data-service-index'));
});
将上面的$(this)换成你想要改变的元素,就行了(class选择器,id选择器)