我正在尝试引用第二列中的对象(对象 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"
}
答案 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);