[英]Dynamically add new element and change its content
我想“復制”某些元素,並使用regex更改其中的一些文本。
到目前為止一切順利:(/ w工作提琴-http: //jsfiddle.net/8ohzayyt/25/ )
$(document).ready(function () {
var divs = $('div');
var patt = /^\d\./;
var match = null;
for (i = 0; i < divs.length; i++) {
match = ($(divs[i]).text().match(patt));
$(divs[i]).text($(divs[i]).text().replace(match[0], "5."));
}
});
的HTML
<div>1. peppers</div>
<div>2. eggs</div>
<div>3. pizza</div>
這完全按照我想要的方式工作,但是我想動態添加一些內容,但是當我嘗試更改復制的divs
的內容時,什么也沒發生。
請參閱此提琴: http : //jsfiddle.net/8ohzayyt/24/
我已經發表了一些評論,以便更清楚地說明我要實現的目標。
我認為您的問題是您沒有將元素傳遞給changeLabel
函數,而只是傳遞了一個字符串。
看看這個解決方案: http : //jsfiddle.net/8ohzayyt/26/
這是我為使您的代碼正常運行而更改的行:
var newContent = $("<hr/><div id='destination'>" + $("#holder").html() + "</div>");
我只是將您的HTML包裝在$()
。 這將從字符串中創建一個元素。
嘗試:
var newContent = $("<hr/><div id='destination'>" + $("#holder").html() + "</div>");
編輯:簡要說明我做了什么。
為了使$(el).find('div');
工作changeLabel()
需要一個元素。 而不是將newContent
作為字符串傳遞,而是將其作為元素傳遞,這將使$(el).find('div');
工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.