如何根据div ID更改链接?

时间:2019-02-08 06:21:11

标签: javascript html css

我正在使用Jcink论坛-我可以根据用户组设置div的样式,该用户组可用作html变量(用于ID)。

如何根据ID更改链接?

我假设这不能仅通过css和html完成,但是我对JS并不精通

例如(不是完整的代码,只是一个非常删节的版本):

样式表:

#admin .avatar {background-image:url("admin.jpg");}
#mod .avatar {background-image:url("mod.jpg");}

HTML:

<div id="<!-- |g_id| -->">
    <a href="link changes based on div id">
        <div class="avatar"></div>
    </a>
</div>

2 个答案:

答案 0 :(得分:1)

如果您可以编写脚本,则可以执行类似的操作(用于内联演示,可以遍历所有div并更改其链接)

<div id="<!-- |g_id| -->">
  <a href="whatever" onclick="this.href=this.closest('div[id]').id=='xxx'?'zzz':'yyy'">
    <div class="avatar"></div>
  </a>
</div>

ID为xxx会将href设置为zzz,否则将其设置为yyy

答案 1 :(得分:0)

您可以使用setAttribute根据ID设置链接href

var ele=document.querySelectorAll("div");
Object.values(ele).forEach((e)=>{
if (e.getAttribute("id") == "abcd") {
  var link = e.querySelector("a");
  link.removeAttribute("href");
  link.setAttribute("href", "www.link2.com");
} 
})
<div id="abcd">
  <a href="link1">
    <div class="avatar">aa</div>
  </a>