我有一个问题,我需要格式化以下列格式存储在客户端缓存中的html:
html[0] = '<tr>'
html[1] = '<td>text</td>'
html[2] = '<td>text</td>'
在正常情况下,我直接使用dom并且不需要靠近此缓存,但有时我需要更新它...
html[1] = '<td><a href="">text</a></td>'
由于开头'tr'的'不寻常'存储,我能以某种方式构建一个新的'tr',操纵它,然后只渲染开始标记?
$(html[0] + '</tr>');
我知道这可以用regexp完成,但很想知道我是否可以使用jquery技术。
答案 0 :(得分:0)
HTML不是XML。在HTML中,这是完全合法的:
<table>
<tr>
<td>Text</td>
<td>Text</td>
<tr>
<td>Text</td>
<td>Text</td>
</table>
这意味着您无需使用<tr>
关闭开头</tr>
括号。
您可以使用W3C Markup Validation Service检查HTML的有效性。
你可以用这样的锚包装文本:
<!doctype html>
<html>
<head>
<title>Wrap td text</title>
<script type="text/javascript"
src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.6.2.min.js"></script>
<script type="text/javascript">
$(function () {
var html = [];
html[0] = '<tr>';
html[1] = '<td>text</td>';
html[2] = '<td>text</td>';
$(html.join(""))
.children("td")
.each(function () {
$(this).html($('<a href="">' + $(this).text() + '</a>'));
})
.end()
.appendTo("table");
});
</script>
</head>
<body>
<table>
</table>
</body>
</html>