JavaScript - 根据属性追加div(多个属性)

时间:2013-09-11 14:20:47

标签: javascript jquery html

我有两个没有任何内容的容器。我想基于其他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”语句即使存在其他值也能正常工作?

非常感谢任何协助。

1 个答案:

答案 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");}