2 回答 2

2

循环遍历元素,使用.split' - '分解字符串,然后弹出最后一个元素(url)和.join字符串的其余部分与元素之间的' - '一起弹出。

$('ul li').each(function () {
    var li = $(this),
        parts = li.text().split(' - ');
    li.html('<a href="' + parts.pop() + '">' + parts.join(' - ') + '</a>');
});

http://jsfiddle.net/rustyjeans/89whD/

于 2013-03-14T21:30:39.697 回答
0

我会使用.wrapInner()和的组合.each()

$('ul li').wrapInner('<a>').find('a').each(function(i,el) {
    var arrCont = $(el).text().split(/\s*-\s*http/),
        strText = arrCont[0],
        strUrl = "http"+arrCont[1];
    $(el).attr('href',strUrl).attr('title','').text(strText);
});

http://jsfiddle.net/mblase75/Ax8QU/

于 2013-03-14T21:45:19.810 回答