如何使用Javascript / JQuery / JSON获取字符串的子集?

时间:2009-07-26 22:47:01

标签: javascript jquery regex string json

我想在Javascript中获取字符串的子集。目前,我只知道如何存储整个字符串:

我把它作为一个JSON变量,回调到foo:

foo({"results":[
"<div id=\"following\"><span><a href=\"http://twitter.com/barackobama\">Obama</a></span></div>"
]})

这是我的回调函数:

function foo(o){
  var entireDiv = o.results[0];
}

如何仅存储“&lt; a href = ...&gt; ...&lt; / a&gt; “在Javascript中标记为字符串?

3 个答案:

答案 0 :(得分:4)

使用jQuery,您可以将一段HTML解析为第二个参数。

因此,要更新foo功能:

$j = jQuery.noConflict();

function foo(o)
{
    var JustTheLink = $j( 'a' , o.results[0] ).parent().html();
}


更新
有多个要处理的链接,您可以这样做:

function foo(o)
{
    $j('a',o.results[0]).each(handleSrc);
}

function handleSrc()
{
    console.log(this); // tag
    console.log($j(this).html()); // contents
}

答案 1 :(得分:2)

您可以使用正则表达式查找锚标记:

function foo(o){
  var entireDiv = o.results[0];
  var link = /<a.+?\/a>/.exec(entireDiv)[0];
}

答案 2 :(得分:0)

var link = entireDiv.match(/<a[^>]*>.*<\/a>/);