mrh*_*nar 1 javascript jquery dom
现在我知道它可能看似重复,但事实并非如此.我阅读了这个标题的所有其他帖子,但找不到答案.我有:
<ul>
<a id="A" class="tablink">A</a>
<a id="B" class=tablink">B</a>
...
</ul>
Run Code Online (Sandbox Code Playgroud)
我想要上面元素的id,是来自另一个无序列表的另一个列表元素的href.
<ul>
<a id="1" class="subjects" >1</a>
<a id="2" class="subjects">2</a>
</ul>
Run Code Online (Sandbox Code Playgroud)
我已经有了这个代码
<script type="text/javascript">
$(".tablink").on("click", function(){
var char = this.getAttribute("id");
var link = document.getElementsByClassName("subjects").getAttribute("id");
document.getElementsByClassName("subjects").href = char + link
});
</script>
Run Code Online (Sandbox Code Playgroud)
但它显示标题中的错误.如果我设置它是有效的:document.getElementById("subjects")我还必须将主题更改为id而不是课堂.所以它只适用于一个元素,但我有更多的元素,所以我假设我必须做一些for循环?编辑:使用jQuery完成的COul,没有for循环?如果有,怎么样?
document.getElementsByClassName("subjects")返回一个元素数组.你不能像那样设置它的href属性.也许你想要:
var elems = document.getElementsByClassName("subjects");
for(i=0;i<elems.length;i++) {
elems[i].href = "yourhref";
}
Run Code Online (Sandbox Code Playgroud)
更新:你在这一行得到错误: document.getElementsByClassName("subjects").getAttribute("id")
正如我上面所说,document.getElementsByClassName("subjects")返回一个数组,你正试图调用getAttribute它上面的函数.所以它可能会抛出document.getElementsByClassName(...).getAttribute is not a function
| 归档时间: |
|
| 查看次数: |
14129 次 |
| 最近记录: |