簡體   English   中英

JQuery追加到變量元素

[英]JQuery append to variable element

我正在構建由 jquery 支持的自己的 JS 庫。 構造函數開始在現有 div 之上構建以充實它。 在庫中,我正在調用 ajax,所以我知道如何附加到這個初始 div(這是傳入的初始 div):

var t = this;
var sdiv = t.append("<ul class='foo'></ul>");

所以現在我需要循環並將元素附加到變量“sdiv”。 由於某些原因

$(sdiv).append("<li class='bar'>" + element[i] + "</li>");

不工作/渲染。 如何將元素附加到作為變量創建的其他元素?

謝謝

它不起作用,因為sdivt變量相同,因為append返回最初選擇的元素。

而是在自己的變量中創建ul ,然后在附加時使用該引用。 嘗試這個:

var $t = $(this);
var $sdiv = $('<ul />', { class: 'foo' }).appendTo($t);

// in your loop...
$('<li />', { class: 'bar', text: element[i] }).appendTo($sdiv);

請注意,我還裹着this在一個jQuery對象。 假設此代碼正在事件處理程序中執行,則需要這樣做。

@RoryMcCrossan提供了一個很好的答案。 另一種方法可能如下:

var $t = $(this)
var $sdiv = $('<ul class="foo"/>');

然后在循環中執行以下操作:

 $sdiv.append( $('<ul class="bar"/>').text( element[i] ) );

然后最后將$sdiv附加到$t

 $t.append( $sdiv );

如何修改這個腳本,這樣當你點擊錯誤的符號(例如字母)時它不會刪除以前的符號,以及如何使“+”符號在你輸入“+61”時只允許一次然后被禁止?

再次感謝你

 <script>
  $("#mobph").on('keyup', function(){
  var n = $(this).val().replace("+61", "0").replace(/[^+][^0-9]+/, "");
      //var n = $(this).val().replace(/[^0-9]+/g, "");//(/\D/g,'')   
        $(this).val(n.append(n).toLocaleString());
    //do something else as per updated question
    //myFunc(); //call another function too
    });
</script>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM