我正在尝试使用jquery重新格式化以下文本:
<a href="3.3/">3.3/</a> 14-Apr-2011 14:43 -
<a href="3.4.2/">3.4.2/</a> 06-Jun-2011 11:20 -
<a href="3.8/">3.8/</a> 01-Jun-2011 16:27 -
我用li标签包裹链接没有问题,但是试图提取日期并摆脱文本残留的其余部分正在伤害我的大脑。我看过一个jQuery文本选择器,但似乎没有出现给我的建议?
在一个理想的世界里,我会在一天结束时得到类似的东西:
<li><a href="3.3/">3.3/</a><br><p>14-Apr-2011 14:43</p></li>
答案 0 :(得分:0)
由于您希望在内容中隔离可定义的模式,因此我将使用正则表达式来解析您正在查找的数据,然后根据需要重新格式化该数据。这是一个基本的例子:
$(document).ready(function () {
var input = $('#content').html(); // Get content from #content container
var regex = /^(<a.+<\/a>)\s+(\S+)/gm; // Setup regex to extract anchor & date
// Execute regex against input and return subpattern matches
while( result = regex.exec(input) )
{
// Add formatted output to <ul>
$('ul').append("<li>" + result[1] + "<br><p>" + result[2] + "</p></li>");
}
});
此示例假定您的输入字符串位于元素#content内,并且您希望将新创建的<li>
附加到<ul>
,这可能不是这种情况。但是,这两个假设都应该很容易适应您的需求。