我希望根据标签数据是否与键变量匹配,有条件地将元素附加到容器。
返回标签数据的方式类似于 tag1 tag2 tag3 tag4 tag5,key 匹配了一些标签数据,但它仍然没有进行条件追加。
如果您能为这种头痛提供任何形式的帮助,我们将不胜感激!
代码如下:
var key = getParameterByName('img');
var tags = item.tags;
if (key != null){
//move onto conditional append
if (key === tags) {
$('<div class="photo">
<figure class="cell" data="'+tags+'">
<figcaption class="caption" style="display: none;"> '+title+' <a href="">click</a></figcaption>
<a href="' +imgb+ '"><img src="' +img+ '" class="small-image"/></a></figure>').appendTo('#container');
}
}
else {
$('<div class="photo"><figure class="cell" data="'+tags+'"><figcaption class="caption" style="display: none;">'+title+'<a href="">click</a></figcaption><a href="'+imgb+'"><img src="'+img+'" class="small-image"/></a></figure>').appendTo('#container');
}
最佳答案
尝试使用 (tags.includes(key)) 而不是 (key === tags)。您正在检查一个字符串是否包含在一个更大的字符串中,而不是“tag1 tag2 tag3”是否正好等于“tag1”。
关于javascript - 有条件地附加已解析的 JSON 中与值匹配的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42399275/