2012-03-24 1 views
1

Я застрял в том, что делать, когда скрывает диапазон, который имеет определенное имя класса. Я не могу использовать this, потому что он относится к входу. Вот мой сценарий:Скрыть пробел с именем класса jquery

//uncheck all checkboxes 
$("input[type=checkbox]").prop("checked", false); 

$("input[type=checkbox]").each(function (index) { 
    $(this).addClass("doc" + index); 
}) 

$("input").change(function() { 

    var docName = $(this).parent().find("span"); 
    var className = $(this).attr("class"); 

if(this.checked) { 

     $("span.noneAttached").fadeOut('slow', function() { 

      docName.clone().appendTo(".attachedDocuments").addClass(className).after("<br />").text(); 

     }); 
    } 

else if (!this.checked && ($(".attachedDocuments > span").hasClass(className))) { 


    //hide the span with the class name 

} 

}); 

В else if проверяет, если флажок не установлен, а если родительский DIV содержат ребенок с именем класса. Если да, спрячьте это.

Куда я иду отсюда? Я уверен, что этот ответ очевиден, но я просто этого не вижу.

+0

И HTML это ... – Tadeck

ответ

4

Объединить имя класса к селектору, как этот

$("span."+className).hide(); 
+0

Duh. Неплохо. Большое спасибо! – Sethen

0
$('.classname').hide(); 
$('.' + classnameasvariable).hide() 
1

Попробуйте

$(".attachedDocuments span." + classname).hide(); 
Смежные вопросы