我想在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中标记为字符串?
答案 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>/);