使用JS显示依赖于元素类的图像

时间:2014-06-20 07:01:58

标签: javascript jquery html css

当有人搜索特定类别的产品时,我想显示一组特定的徽标。徽标图像元素最初是隐藏的(不显示),并且将具有类别ID的类。该类别确定显示的徽标。我的一个徽标的HTML是:

<li id="show-logo" style="display: none;">
    <!-- PLaytex Logo -->
    <img src="/images/logos/playtex.jpg" class="cat_1">
</li>

所以我的功能应该如下:

showPartnerLogos(element, cat_id);

function showPartnerLogos(element, cat_id) {
    // then show the images with that class cat_id for that element 
}

我没有做过任何代码,因为我的JS很糟糕,但是当有人搜索产品时,这个函数是用来显示模态的函数:

$('#modal .spinner').spin('flower', 'black');

// Loop through all selected categories
$("#form_buy input[name='buy_product']:checked").each(function() {
    $('#modal').find('.cat_' + $(this).val() ).show();
});

setTimeout(function() {
    document.location.href = $(form).attr('action');
},0);

此功能以模态显示徽标,除了在页面上显示徽标外,我希望能够做同样的事情。

2 个答案:

答案 0 :(得分:0)

你会这样:

function showPartnerLogos(element, cat_id) {
    $(element+"."+cat_id).show();
}

这应该被称为:

showPartnerLogos("img", "cat_1");

显示与cat_1类匹配的所有图像元素。诀窍是使用最终的匹配器:&#34; img.cat_1&#34;对于jQuery

答案 1 :(得分:0)

试试这个

function showPartnerLogos(element, cat_id) {
// then show the images with that class cat_id for that element 
$(element + '.' + cat_id).show();
}

这将显示img中发送的所有cat_id个元素。

理想情况下,您不需要参数element仅显示所有img标签,但上述代码可用于隐藏任何类型的元素,预先在参数元素中传递标签名称

function showPartnerLogos(cat_id) {
// then show the images with that class cat_id for that element 
$('img.' + cat_id).show();
}

如果有帮助,请告诉我。