0

HTML 文字列を (var code); として取得しました。href と title(例: スター アルバム) とエピソード番号 (例: エピソード 4) 内の sid=(例:12345) のすべての値を抽出したいのですが、JavaScript でそれを行う方法を知り、すべての sid、タイトルハイパーリンクを構築できるように、エピソード番号の値を配列に入れますか?

注: $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 に答える