簡體   English   中英

動態添加新元素並更改其內容

[英]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.

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