首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript选择div并在其中更改href

Javascript选择div并在其中更改href
EN

Stack Overflow用户
提问于 2016-02-28 19:37:31
回答 2查看 1.5K关注 0票数 1

我正在尝试使用JavaScript修改我页面中的链接。我可以选择div和a元素,但不能更改href。

Shopify使用for循环生成这些对象,并需要每个对象都有不同的链接。

下面是HTML:

代码语言:javascript
复制
<div id="tri-banner-1" class="banner-element banner-1 col-sm-4">
                <a href="collections/all"><div class="home-banner">                  
                  <img src='//cdn.shopify.com/s/files/1/1093/4220/t/2/assets/group_top_banner01.png?17711418137279289271' alt="">
                  <div class="banner-caption">
                    <div class="display-table">
                      <div class="display-tablecell">

                      </div>
                    </div>                        
                  </div>                 
                </div></a>                                     
              </div>  



              <div id="tri-banner-2" class="banner-element banner-2 col-sm-4">
                <a href="collections/all"><div class="home-banner">                  
                  <img src='//cdn.shopify.com/s/files/1/1093/4220/t/2/assets/group_top_banner02.png?17711418137279289271' alt="">
                  <div class="banner-caption">
                    <div class="display-table">
                      <div class="display-tablecell">

                      </div>
                    </div>                        
                  </div>                 
                </div></a>                                     
              </div>  



              <div id="tri-banner-3" class="banner-element banner-3 col-sm-4">
                <a href="collections/all"><div class="home-banner">                  
                  <img src='//cdn.shopify.com/s/files/1/1093/4220/t/2/assets/group_top_banner03.png?17711418137279289271' alt="">
                  <div class="banner-caption">
                    <div class="display-table">
                      <div class="display-tablecell">

                      </div>
                    </div>                        
                  </div>                 
                </div></a>                                     
              </div> 

这是我的JavaScript。

代码语言:javascript
复制
<script type="text/javascript">

  $(window).bind("load", function() {
      window.alert("Test");
      var banner1 = document.getElementById("tri-banner-1");
      var banner1Links = banner1.getElementsByTagName("a");
      banner1Links.href="facebook.com";
  });
</script>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-02-28 19:43:38

banner1Links获得一个数组值,因此您需要在该数组中循环,并且对每个数组元素传递该值。

代码语言:javascript
复制
// instead of banner1Links.href="facebook.com";

for(var i = 0; i < banner1Links.length; i += 1){
  banner1Links[i] = 'http://example.com';
}
票数 0
EN

Stack Overflow用户

发布于 2016-02-28 19:44:06

banner1.getElementsByTagName("a");返回一个HTMLCollection。您应该使用索引来选择元素;例如;

代码语言:javascript
复制
// set `href` of first `a` element in `bannerLinks`
banner1Links[0].href = "facebook.com";

或迭代集合。

代码语言:javascript
复制
for (var i = 0; i < bannerLinks.length; i++) {
  bannerLinks[i] = /* set `href` here */;
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35687286

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档