使用alert調試,if的分支被執行。但匹配的代碼標籤沒有獲得「數據語言」屬性。
divs.html(function (index, oldhtml) {
var newhtml = converter.makeHtml(oldhtml);
var pat = /\{-# CODE (.+?) #-}/i;
$('code', newhtml).text(function (index, text) {
var m = text.split("\n")[0].match(pat);
if (m) {
$(this).attr("data-language", m[1]);
}
});
return newhtml;
});
你檢查過m [1]'的值是什麼嗎? – JJJ
這是因爲你沒有修改'newhtml'字符串的屬性,你正在創建一個'newhtml'的dom副本並修改它,這些修改不會返回到'newhtml'因此它不起作用 –
@Juhana:是。通過測試文本,我得到了if(m)的分支。 – Magicloud