我有两个没有任何内容的容器。我想基于其他div的属性将内容附加到这些容器中。我唯一的麻烦是,属性中有多个值,用分号分隔,这破坏了我现有的代码。
例如,我有以下div:
<div class="item-container" location="United States; United Kingdom"></div>
我的JavaScript目前看起来像这样:
$('.item-container').each(function () {
var location = $(this).attr('location');
if (location == "United States") { $('#american-container').append(location );}
});
现在,在location属性仅包含“United States”的情况下,这非常适用。但是,如果“位置”属性中有多个值,则会中断。
有没有办法确保我的“if”语句即使存在其他值也能正常工作?
非常感谢任何协助。
答案 0 :(得分:0)
使用indexOf()
if (location.indexOf("United States") >-1)
如果你的代码看起来像这样
$('.item-container').each(function () {
var location = $(this).attr('location');
if (location.indexOf("United States") >-1) { $('#american-container').append(location );}
if (location.indexOf("United kingdom") >-1) { $('#europe-container').append(location );}
});
然后你已经知道你在寻找什么,那么你可以将位置改为像这样的if字符串
if (location.indexOf("United States") >-1) {$('#american-container').append("United States");}
if (location.indexOf("United kingdom") >-1) {$('#europe-container').append("United kingdom");}