我有一個使用jQuery的網頁。在這個應用程序中,我有一個接受HTML字符串的函數。這個HTML字符串是動態生成的。但是,我知道我想更新HTML中某個元素的類列表。 HTML字符串的一個例子是這樣的:jQuery - 更新字符串的HTML
<p>This is a test</p><div class="example" data-id="1">example</div> <p>This is only a test.</p>
我想找到這個字符串值的特定數據ID中的元素,並更新其類列表。在努力孤立我的問題,我已經創造了這個Fiddle,其中包括下面的代碼:
function updateHtml(html, id) {
var tree = $(html);
var updatedHtml = html;
var leaf = $(tree).find('div[data-id="' + id + '"]');
if (leaf) {
$(leaf).attr('class', 'example complete');
updatedHtml = $(tree).html();
}
return updatedHtml;
}
當您運行的小提琴,你會發現,這些類不會真正改變。爲什麼不?我不知道我做錯了什麼。基於上面的代碼,小提琴中的例子從未像我期望的那樣從灰色變爲綠色。我錯過了什麼?
你拍的HTML作爲一個字符串,然後你要更新該字符串,爲什麼會在頁面上的元素通過你做一個隨機字符串什麼影響?該函數也不返回任何東西。 – adeneo
@adeneo公平評估。我着急了。我更新了小提琴和問題文本。 – user687554
您是否真的需要HTML作爲字符串,爲什麼不直接添加類,如果您想要影響DOM呢? – adeneo