我对jQuery数组对象有疑问。
让我简要描述一下:我有两个名为brandsLink
和floorLink
的数组。
当用户点击任何链接时,我将该特定品牌名称存储在名为brandName
的变量中,而我在第二个数组中检查的变量。如果找到了,那么我会写一些其他的方法。我附上一张图片供参考。我认为这会有所帮助
这是代码:
$('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.');
}
});
});
感谢, naresh kumar
答案 0 :(得分:0)
find
来电将在搜索'someID'
时搜索'#someID'
'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.');
}
});