点击<a >的时候用js改变<a data-service-index="2" href=' '></a>中data-service-index的值??

鼠标点击<a >链接的时候,怎么用js改变<a data-service-index="2" href=' '></a>中data-service-index的值??
错误问题

第1个回答  2015-02-04
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
</head>
<body>
<a id ="link" data-service-index="0" href='javascript:void(0);'>中data-service-index</a>
<script type="text/javascript">
var i = 0;
document.getElementById("link").onclick = function(){
this.dataset['serviceIndex'] = (++i);
//this.setAttribute("data-service-index",++i);
//以上两种方式,如果支持html自定义 data的浏览器可以使用第一种。其它可以使用第二种。
}
</script>
</body>
</html>本回答被网友采纳
第2个回答  2015-02-03

可以用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

追答

我测试了,是可以的。

<script>
function change(){
var dom = document.getElementById('aTag').getElementsByTagName('a')
for(var i = 0;i<dom.length;i++){
dom[i].setAttribute('index',i);
}
}
</script>
<div id="aTag">
<a href="javascript:;">123123</a>
<a href="javascript:;">123123</a>
<a href="javascript:;">123123</a>
<a href="javascript:;">123123</a>
<a href="javascript:;">123123</a>
<a href="javascript:;">123123</a>
<a href="javascript:;">123123</a>
</div>
<a href="javascript:;" id="change" onclick="change()">change</a>

这样是改变a的index属性。。



你写的这边,dom[i].setAttribute('c700'),改变属性c700,但是没有赋值啊。。

相当于<a c700=""></a>,是会报错的。。

setAttribute(属性名称,属性值),缺一不可。

追问

我发现了,但是没有实现我想要的效果阿。我在给你加点分,你帮我改改看,导航收缩效果。要改成:默认是全部展开的,点击后收缩,再点击后又展开,下这个文件:

或加我秋

追答

下载哪一个??

本回答被提问者采纳
第3个回答  2015-02-03
$(document).on("click", "a", function(){
$(this).attr('data-service-index', '你想改变的值');
alert($(this).attr('data-service-index'));
});追问

要是点击一个,改变的是另一个的data-service-index值能实现吗?

追答

可以的
$(document).on("click", "a", function(){
$(this).attr('data-service-index', '你想改变的值');
alert($(this).attr('data-service-index'));
});

将上面的$(this)换成你想要改变的元素,就行了(class选择器,id选择器)

第4个回答  2015-02-05
<!DOCTYPE HTML>
<html>
<head>
<meta charset=UTF-8>
<title>YuGiOh</title>
<style type="text/css">
</style>
<script type="text/javascript">
function change ()
    {
    var dom = c1.querySelectorAll ("a");
    for ( var i = 0; i < dom.length; i++)
        {
        dom[i].onclick = function ()
        {
         txt.value = this.getAttribute ("data-service-index")
         this.setAttribute("data-service-index", 5);
        }
        }
    }

onload = change;
</script>
</head>
<body>
<div id="c1">
<a data-service-index="1" href='#'>aaaaaaaaaaa</a>
<a data-service-index="2" href='#'>bbbbbbbbb</a>
<a data-service-index="3" href='#'>cccccccccccc</a>
<a data-service-index="4" href='#'>ddddddddddd</a>
<a data-service-index="5" href='#'>eeeeeeeee</a>
<a data-service-index="6" href='#'>ffffffffff</a>
</div>
<input type="text" id="txt" />
</body>
</html>

怎样用js实现点击<a>时制出现一个弹窗
为超链接添加onclick()动作,动作内容为弹出对话框。javascript提供了3种类型的对话框:alert() : 提醒 confirm():确认,返回 true 或者 false prompt():带输入的对话框 下面进行实例演示:1、HTML结构 <a href="#" onclick="fun1()">你有一个礼物<\/a><a href="#" onclick="fun2()">...

点击超链接href,调用JS中的方法修改<s:hidden name="asd" value="要改...
点击这个超链接来修改 <a href="javascript:" onclick="changeValue('test')">修改值<\/a> 当然也可以这样写来执行 <a href="javascript:changeValue('test')" >修改值<\/a> 其目的是调用js函数,并且吧要修改的标签的id传过来 执行的js function changeValue(id){ var input = document.getEl...

用JS输出指定id的<a>标签中的文字
这个函数是click处理函数, 所以this指向点击的a元素 故获取其中文字有以下方案可选 this.innerHTML this.innerText (this).html()(this).text()

如何通过JS 向页面中的<a href=''><\/a>中的href赋值
在js里改span里的内容就行了 document.getElementById("c").innerHTML="<a href=\\"xxx.jsp\\"><\/a>";

JS怎么改变<a><\/a>里面的的文字?
1、HTML结构 <a href="#" id="test">超链接的原始文本<\/a><br>修改超链接文本:<input type="text" id="name"><input type="button" value="修改" onclick="fun()">2、javascript代码 function fun(){var name = document.getElementById("name").value;document.getElementById("test"...

当点击一个<a>标签时,页面中的某个<div>层显示,当点击页面中的其他区...
最简单的笨办法:做一个js函数 function divshow(id1,id2){ var divId1=document.getElementById(id1);var divId2=document.getElementById(id2);divId1.style.display=(divId1.style.display=="none")?"block":(divId1.style.display=="block"?"none":"block");divId2.style.display=(...

<a href="javascript:detail(<%=rec_id%>);" class="ccc">修改<\/span>...
理解:1.首先<a><\/a>是超链接标签,这个很好理解 2. href="javascript:detail(<%=rec_id%>);" 这个的意思是链接是执行js里面detail这个方法,即点击“修改”,会去执行detail这个方法 ‘<%=rec_id%>’ 这个是在jsp页面嵌入java代码的方法。在这行代码之前应该会有定义rec_id变量值的java...

请问用JS怎样做这个效果?(点击下边的圆点转换图片)
item.active{display: block;}<\/style>3、编写Js<script>(function(){$(document).on('click','.container .item-control a',function(){var _index = $(this).index();$(this).addClass('active').siblings().removeClass('active');$('.container .item-list .item').eq( _index )...

鼠标点击a标签,改变a标签的背景图片,js代码怎么写
因为没有你那个背景图片,所以用黑色背景代替,保存下面的html代码运行就能看到效果了 <!DOCTYPE html PUBLIC "-\/\/W3C\/\/DTD XHTML 1.0 Transitional\/\/EN" "http:\/\/www.w3.org\/TR\/xhtml1\/DTD\/xhtml1-transitional.dtd"><html xmlns="http:\/\/www.w3.org\/1999\/xhtml" xml:lang="en"><head>...

求助:用JS改变h1标签的内容,请问这段代码有错误吗
在那两句JS外面加上下面这个onload事件:window.onload = function(){};加好了就是这样:window.onload = function(){ var h1= document.getElementsByTagName("h1")[0]; h1.innerHTML = "你想要改变的内容";};表示页面加载时运行你这两句代码 ...

相似回答