2012-02-16 9 views
2

私は、私は、彼らがDIV内の名前と一致するかどうかを確認する必要が名前の配列を、持っている:マッチ配列

var topicName = []; 
$.each(top3, function(i, item) { 
    if (item.featured === false) { 
     topicName.push(item.username); 
    }  
}); 

$("DIV.grid_6 DIV.name").each(function(i, item){ 
     if (topicName === item){ 
     alert("do somethign"); 
     } 
    } 

私はDIV.nameクラスの束を持っていると名前が一致する場合トピック名配列、私は何かをする必要があります。

+1

2番目の 'if'文は、見るのが面倒です。 '()'と '{}'を修正してください – Ktash

+0

htmlを投稿できますか? – elclanrs

+0

そして 'if(topicName === item){}'とは何ですか? 'topciName'が配列の場合、そのような値を単に比較することはできません。 – elclanrs

答えて

0

HTML:

<div class="name">jen</div> 
<div class="name">bob</div> 
<div class="name">sally</div> 

jQueryの:あなたはこのようなトリッキーな方法のいくつかの種類を使用することができます

var topicName = ["jen","bob","michelle"]; 


$("div.name").each(function(){ 

    var nameFound = $.inArray($(this).text(), topicName); 
    if (nameFound === -1){ 
     alert($(this).text() + " not found in array"); 
    } else { 
     alert($(this).text() + " found in array"); 
    } 

}); 

http://jsfiddle.net/xqGKr/

1
$("DIV.grid_6 DIV.name").each(function(i, item){ 
    if ($.inArray(item, topicName) !== -1){ 
     alert("do somethign"); 
    } 
} 
0

代わりの

if (topicName === item) 

一致するテキストがdivの内容であれば、次の操作を行います。

if ($.inArray($(item).text(), topicName) != -1) 

か、それが(例えば<div name="foo">など)属性にいた場合:

if ($.inArray($(item).attr('name'), topicName) != -1) 
0

$(document).ready(function(){ 
    var a = ['foo', 'bar', 'c']; 
    // 
    // $('.' + a.join(', .')) => $('.foo, .bar, .c') 
    // 
    $('.' + a.join(', .')).mouseover(function() { 
     console.log($(this).attr('class')); 
    }); 
}); 

あなたは単にそれらを選択し、あなたが望むことをすることができます。名前が存在しない場合、バインディングはありません。それはまったく問題を意味しません。

関連する問題