3

以下のようなリストがあります。

<p class='info' data-info='1'>Info 1 <span class='status'></span></p>
<p class='info' data-info='2'>Info 2 <span class='status'></span></p>
<p class='info' data-info='3'>Info 3 <span class='status'></span></p>......etc

私がする必要があるのは、すべての.info要素を実行することです。data-info番号が変更に含まれている場合はmyArray、スパン テキストを変更します。jQuery では、配列内の値をどのように照合しますか?

4

6 に答える 6

3
$('.info').each(function() {
  $this = $(this);
  if ($.inArray($this.data('info'), myArray) !== -1) {
    $this.children('.status').text('New text value');
  }
});

ここにフィドルがあります

于 2013-04-03T08:45:09.337 に答える
2

次のようなことをする必要がありますか?

$(".info").each(function() {
    if($(this).data('info').val() == <INSERT NUMBER TO MATCH>)
    {
       //Do some code here
       //example
       $(this).find("span").text("Some text here")
    }
});
于 2013-04-03T08:41:18.647 に答える
1

.info要素をループする代わりに、 myArray.

for (var i = 0; i < myArray.length; i++) {
    $("p[data-info=" + myArray[i] + "] .status").html("Your text");
}
于 2013-04-03T08:45:15.257 に答える
1

以下のように、各 'p' の data-info 値を取得した後、この値が配列に存在することを確認できます

<p class='info' data-info='1'>Info 1 <span class='status'></span></p>
<p class='info' data-info='2'>Info 2 <span class='status'></span></p>
<p class='info' data-info='3'>Info 3 <span class='status'></span></p>......etc

var info = []
$('p').each(function(){
    info.push($(this).attr('data-info'));
});
alert(info)
于 2013-04-03T08:43:22.880 に答える
1
var valueToFind = ['3', '0', '1'];
$('.info').each(function(){
    var infoData = $(this).data('info');
    for(i=0;i<valueToFind.length;i++){
        if(valueToFind[i]==infoData){
            $(this).find('.status').html('found');
        }
    }
});

魔法を行います。

ここにライブのフィドルの例がありますhttp://jsfiddle.net/mayooresan/fw94c/

于 2013-04-03T08:45:48.683 に答える