0

jQuery配列オブジェクトに疑問があります。簡単に説明しましょう: と という 2 つの配列がbrandsLinkありfloorLinkます。ユーザーが任意のリンクをクリックすると、その特定のブランド名が という変数内に保存され、変数brandNameは 2 番目の配列内でチェックされます。見つかったら、別の方法を書きます。参考までに画像を添付します。役立つと思います。
コードは次のとおりです。

$('document').ready(function() {

    var brandsLink = $('.brandLinks li a[id]');
    var floorLink = $('#orionPlan .mapContainer area[id]');

    brandsLink.click(function(e){
        var brandName = this.id;

        if(brandName == floorLink.find(brandName)){
            console.log('yes both are matching.');
        }
        else {
            console.log('sory.');   
        }
    });
});

参考画像

ありがとう、ナレシュ・クマール

4

1 に答える 1

0
  1. このようにIDを使用することはできません。ID はドキュメント内で一意である必要があります。
  2. あなたのfind呼び出しは、検索'someID'する必要があるときに検索します'#someID'
  3. 一致するものが見つかった場合'someID'、DOM ノードと比較することになります

クラスを使用するように切り替えるか、ID のプレフィックスを付けて一意にする必要があります (例: floor-brand-)。また、比較を変更する必要があります。

次のマークアップがあるとします。

<ul class="brandLinks">
   <li><a id="brand-zara" data-name="zara">Zara</a></li>
   ...
</ul>

...

<map name="..." class="mapContainer">
   <area id="floor-zara" data-name="zara" shape="rect" coords="..." />
   ...
</map>

クリック ハンドラーは次のように言うことができます。

brandsLink.click(function() {
    var name = $(this).data('name'); // name = "zara"
    var match = floorLink.find('#floor-' + name);
    if(match.length > 0) {
        console.log('a matching area was found in floorLink');
    } else {
        console.log('sorry.');
    }
});
于 2012-10-05T11:59:36.750 に答える