如何将ID添加到<;a href>;使用JavaScript点击
我有一个像这样的HTML 如何使用javascript将ID添加到HTML href如何将ID添加到<;a href>;使用JavaScript点击,javascript,Javascript,我有一个像这样的HTML 如何使用javascript将ID添加到HTML href <div class="tab"> <a href="#">exp</a> </div> <div class="tab"> <a href="#">exp</a> </div> <div class="tab"> <a href="#">exp</a> &
<div class="tab">
<a href="#">exp</a>
</div>
<div class="tab">
<a href="#">exp</a>
</div>
<div class="tab">
<a href="#">exp</a>
</div>
<script>
var els = document.getElementsByClassName("tab");
// loops els
for(var i = 0, x = els.length; i < x; i++) {
els[i].onclick = function(){
x = document.querySelector(".tab> a")
// do something
x.id = "expid";
}
}
</script>
var els=document.getElementsByClassName(“选项卡”);
//环路
对于(变量i=0,x=els.length;ia”)
//做点什么
x、 id=“expid”;
}
}
我想在单击此按钮时将id添加到每个标记。请帮帮我。调用
document.querySelector()
总是返回文档中的第一个.tab>链接。您可以this.querySelector()
返回您单击的DIV中的链接
我已经将代码更改为使用类而不是ID,因为您不应该有重复的ID
在所有的div中循环。如果是用户单击的DIV,则添加该类,否则将其删除
var els=document.getElementsByClassName(“选项卡”);
//环路
对于(变量i=0,x=els.length;i
.expid{
背景颜色:黄色;
}
你可以这样尝试,这是我用纯js做的一件既酷又简单的事
<div class="tabs">
... your html code.
</div>
const tabs = document.querySelector('.tabs')
tabs.addEventListener('click', event => {
const aTag = event.target
if (aTag.tagName !== 'A') return
aTag.id = `EXPID#${getIndexIn(aTag, tabs)}`
})
function getIndexIn(element, parent): number
... 你的html代码。
const tabs=document.querySelector(“.tabs”)
tabs.addEventListener('click',event=>{
const aTag=event.target
如果(aTag.tagName!=“A”)返回
aTag.id=`EXPID#${getIndexIn(aTag,tabs)}`
})
函数getIndexIn(元素,父元素):编号
它的含义是什么?因此您需要先单击,然后需要循环x
始终是第一个a
,与您单击的元素无关。您不应该创建重复的ID,它们应该是唯一的。你应该改用一个类。正如@Barmer提到的,为什么要复制ID?您将不知道引用的是哪个元素。您可以创建一个类、标记或带有类的标记,而不是创建重复的ID。您可以通过使用jQuery.Thks进行设置。但我想点击标签将添加一个类。没有添加其他标记。我这样做了,但它在单击其他标记时不会删除类。问题中没有关于删除类的内容,只是添加了它们。Thk太多了,很抱歉问题不完整。这并没有回答有关在单击元素时添加到元素的问题。
<div class="tabs">
... your html code.
</div>
const tabs = document.querySelector('.tabs')
tabs.addEventListener('click', event => {
const aTag = event.target
if (aTag.tagName !== 'A') return
aTag.id = `EXPID#${getIndexIn(aTag, tabs)}`
})
function getIndexIn(element, parent): number