0

我得到一个 HTML 字符串作为 (var code); 我想提取所有 sid=(example:12345) 内的值 href 和 title(例如:明星专辑)和剧集编号(例如:第 4 集),但我想知道如何在 JavaScript 中做到这一点并拥有所有 sid、title和数组中的剧集编号值,以便我可以构建超链接?

注意:$code 的初始值是 div 块,如下例所示:

<td width=120 valign="top">                     <div style="height:135px;
    border:1px solid #BBBBBB; background:#BBBBBB; margin-left:2px;
    text-align:center; ">
                    <a href="/now/episodes.php?name=path&id=4000&sid=12345&page=0"><img
    border="0" src="http://www.somesite.com/1234.jpg" width="150"
    height="83"></a><br>
                        <font face="Tahoma" size="2"><b>Star Album</b><br/>
                            episode 4
                        </font>             </div>


        </td>
4

1 回答 1

0

希望这会有所帮助: 演示

var code = '<td width=120 valign="top"><div style="height:135px;border:1px solid #BBBBBB; background:#BBBBBB; margin-left:2px;text-align:center;"><a href="/now/episodes.php?name=path&id=4000&sid=12345&page=0"><img border="0" src="http://www.somesite.com/1234.jpg" width="150" height="83"></a><br><font face="Tahoma" size="2"><b>Star Album</b><br/>episode 4</font></div></td>';
function getDetails(html){
    var div = $('<div></div>')
    div.html(html);
    var count=0;
    var arr = [];
    div.find('a').each(function(){
        var href = $(this).attr('href');
        href = href.substring(href.indexOf('sid=')+4, href.indexOf('&page='));

        var title = $(this).parent().find('b').eq(count++).text();
        arr.push({"sid" : href , "title": title});
    });
    return arr;
}

console.log(getDetails(code));
于 2012-12-10T11:49:36.757 回答