2011-06-17 50 views
3

我可以動態地追加「選擇」控制到DOM,將它附加到DOM後,我想改變最後的「選擇」(最新的「選擇」 ),但它失敗...jquery選擇器不動態時動態追加html

(我不能設置在param_html期權價值,監守我應該在以後使用Ajax請求設置。)

<script> 
    $(function(){ 
     var param_html = '<select class="params"></select>'; 
     $("input[value='+']").click(function(){ 
     $('#parameters').append(param_html); 
      $('.params :last').html('<option>aaa</option><option>keyword in profile</option><option>last tweet</option>'); 
     }); 

    }); 
    </script> 
    <div id="parameters"> 
    <input type="button" value="+"> 
    <select class="params"><option>1</option><option>2</option></select> 
    </div> 

任何建議表示讚賞。

+0

這是一個非常令人困惑的問題,您提供的腳本在上下文中似乎沒有意義。你可以嘗試澄清嗎? – Jivings

+1

實際上,這是他的選擇器的問題;) – Patricia

+0

對不起,我的英語很差,我已盡全力表達我想說的話 –

回答

6

採取OUT參數,和之間的空間:最後

$('.params:last').html('<option>aaa</option><option>keyword in profile</option><option>last tweet</option>'); 
+0

非常感謝,您的回答非常快! –

+0

這是我的榮幸:) – Patricia

1

您的內容似乎DOM已經被加載後加入。

嘗試直播http://api.jquery.com/live/

+0

您的解決方案也可以,但Patricla更快.. –

+1

其在1.9中刪除 – om471987

0

嗯,你的CSS選擇器是imporper應$('.params:last-child')$('.params:last')我認爲空格鍵是不允許存在。

也沒有人使用你所創建的對象forbis您:

$(function(){ 
     var param_html = '<select class="params"></select>'; 
     $("input[value='+']").click(function(){ 
     $('#parameters').append(param_html); 
      $(param_html).html('<option>aaa</option><option>keyword in profile</option><option>last tweet</option>'); 
     }); 

    }); 

如果你打算在將來使用AJAX,則同樣的想法會工作,而不是重新選擇的對象使用一個你」已創建。