[英]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>");
不工作/渲染。 如何將元素附加到作為變量創建的其他元素?
謝謝
它不起作用,因為sdiv
與t
變量相同,因為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.