0

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

任何帮助将不胜感激。

4

1 回答 1

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");}
于 2013-09-11T14:22:06.723 回答