Jquery - >如何通过单击类选择与类同名的ID?

时间:2014-12-13 22:08:52

标签: jquery jquery-selectors

我有一个带有类名“gallery1 multgalerie”的li,点击它后我想显示id为“gallery1”的div(以及2,3,4 ......)。所以代码的含义如下:

$( ".conty li" ).click(function() {

var className = $(this).attr('class');

$('.conty li').css('font-weight', '400');
$(this).css('font-weight', '600');

$('.multgalerie').slideUp();
$(#className).slideDown();

});

所以问题是如何使用这个 $(#className).slideDown(); ,正确选择ID,因为它具有与下面列出的类相同的ID名称。

2 个答案:

答案 0 :(得分:0)

只需使用:

$("#"+className).slideDown();

注意你正在使用多个类,这将返回一个列表。

此示例代码显示了我的意思:

//Get list of CSS class names
        var classNames = $("#myDiv").attr("class").split(' ');
        $.each(classNames, function (i, className) {
            alert(className);
        });

答案 1 :(得分:0)

不要为此目的使用类。使用类作为数据属性会减慢实际的CSS处理速度,但没有真正的优势。

而是使用data-属性来保存元数据,例如相关元素。这就是他们的目的。

您的元素可以将整个选择器放在data-属性

e.g。

class="multgalerie" data-gallery="#gallery1"

并且代码将更改为:

$( ".conty li" ).click(function() {
    var gallery = $(this).data('gallery');
    [snip]    
    $(gallery).slideDown();
});