请参阅第二列中的对象

时间:2018-03-18 10:18:57

标签: javascript html css

我正在尝试引用第二列中的对象(对象 link_icon )并基于.json数据,我正在分配新的URL。

我的html的结构:

<div class="details">
    <h1 id="title">title</h1>
    <h3 id="author">
        <a href="https://www.google.pl/">author</a>
    </h3>
</div>
<a href="https://www.google.pl/">
    <div><i class="link_icon"></i></div>
</a>
$(function(){
  var url = 'img_and_data/' + randomNumbers[bgImgIndex] +'.json';
  var title = $("#title");// the id of the heading
  var author = $("#author a");// id of author
  var link_icon = $(".link_icon a"); // <------- problem probably is here 


  $.getJSON(url, function (data) {
    title.text(toTitleCase(data.title));
    author.text(data.copyright);
    author.attr("href", data.url);
    link_icon.attr("href", data.permalink);
  });
}

这是我的完整代码: https://jsfiddle.net/cvv0sen8/8/

我应该如何引用link_icon来修改href

你可以帮帮我吗?

JSON:

{
    "title": "example title",  
    "copyright": "example author",
    "permalink": "https://www.bing.com/",
    "url": "http://www.yahoo.com"    
}

1 个答案:

答案 0 :(得分:1)

  

var link_icon = $(“。link_icon a”);

此处的选择器表示“每个a标记都有一个标记为link_icon为父级的标记”。问题是您的html文档在a中不包含任何link_icon标记:您的选择器不会返回任何内容。

您可以像这样更改您的HTML:

<div><a class="link_a" href="#"><i class="link_icon"></i></a></div>

你的js:

var link_a = $(".link_a");

// ...

link_a.attr("href", data.permalink);