2015-12-24 43 views
6

enter image description hereZmień Id Klasa Wewnątrz zmienną zawierającą kod HTML jQuery

co próbuję zrobić, to On kliknięciem AddMore Buttona Dostaję id przycisku

<div id="MemberCountDiv"> 
       <div class="MemberDescriptionAdd" style="display:none;"> 
        <select name="MemberCountType" id="MemberCountTypeX" class="MemberCountTypeX form-control "> 
         <option selected="selected" value="">Condition</option> 
         <option value="<">Less Than (&le;)</option> 
         <option value=">">Greater Than (&ge;)</option> 
         <option value="=">Equal</option> 
        </select> 
        <select name="MemberCount" id="MemberCountX" class="MemberCountX form-control "> 
         <option selected="selected" value="">Members</option> 
         <option value="1">1</option> 
         <option value="2">2</option> 
         <option value="3">3</option> 
         <option value="4">4</option> 
         <option value="5">5</option> 
         <option value="6">6</option> 
         <option value="8">7 Or More Than 7</option> 
        </select> 
        <button id="RemoveX" class="btn btn-blue" type="button">Remove</button> 
       </div> 
      </div> 

Ja zachowałem DIV i co jestem na kliknięcie jest

$(".AddMoreButton").click(function() { 
     var type = $(this).val(); 
     var idname = $(this).attr("id"); 
     var id = idname.replace("AddMore", ""); 
     alert(id); 
     var adddiv = $('#MemberCountDiv').html(); 
     alert(adddiv); 
     adddiv.find('.MemberDescriptionAdd').attr('id', 'your-new-id'); 
     alert(adddiv); 
    }); 

Co staram się zrobić, to dołączyć do id id i klasy

Błąd:

adddiv.find is not function 
+3

Wypróbuj '$ ('# MemberCountDiv'). Find ('. MemberDescriptionAdd'). Attr ('id', 'twój-nowy-id');' –

Odpowiedz

5

To beacause adddiv jest ciąg html i nie jquery przedmiotem elementu. użyj:

var adddiv = $('#MemberCountDiv'); 
alert(adddiv.html()); 
adddiv.find('.MemberDescriptionAdd').attr('id', 'your-new-id'); 
alert(adddiv.html()); 
2

Nie można tego zrobić za pomocą łańcucha. Wystarczy użyć .clone():

var adddiv = $('#MemberCountDiv').clone(); 
alert(adddiv.html()); 
adddiv.find('.MemberDescriptionAdd').attr('id', 'your-new-id'); 
alert(adddiv.html()); 

Teraz adddiv działa jako element HTML i można dokonać wszystkich zmian.

Powiązane problemy