我使用Jquery有许多动态生成的反馈行来测试来自xml的问题。样品:
您回答(是)。您的患者处于中度至高度风险。
您回答(编号)您的患者从低到高风险。
您回答(每周剂量。)您的患者处于中等风险。
等
如何查找和格式化反馈文本的不同部分?我需要用斜体的引号格式化部分文本。还要以粗体开头用“at”一词格式化部分文本,直到句点标记?
我想有可能使用正则表达式,但我还没有使用它们。 到目前为止,我有以下内容:
var feedbackString = "<p id='feedbackTxt'>" + currentQuizNode.find("Feedback").text() + "</p>";
$("#quizFeedback").append(feedbackString);
提前谢谢你, 阿提拉
答案 0 :(得分:2)
currentQuizNode.find("Feedback").text().replace(/(.*\()(.*)(\).*patient is\s)(.*)/,"$1<span class=\"answer\">$2</span>$3<span class=\"risk\">$4</span>")
非常难看,但它有效:P
答案 1 :(得分:0)
var feedbackString = "<p id='feedbackTxt'>" +
currentQuizNode.find("Feedback").text().
replace(/"(.*)"/, "<span style='font-style: italic;'>$1</span>").
replace(/(\bat\b.*?\.)/, "<span style='font-weight: bold;'>$1</span>") +
"</p>";
$("#quizFeedback").append(feedbackString);
如果您打算用括号代替引号,请更改:
replace(/"(.*)"/, "<span style='font-style: italic;'>$1</span>").
要:
replace(/(\(.*?\))/, "<span style='font-style: italic;'>$1</span>").