0

我有这样的代码:

document.body.innerHTML=data();

这段代码完成后,我想做一些事情(url/split):

$(data).find('a').prop('href', function(_, href){
    url = href.split('/');          
    return href.replace(url[2], 'someUrl');

}); 

如何将两个代码链接在一起?我试过:

document.body.innerHTML=data().end().find('a').prop('href', function(_, href){
    url = href.split('/');          
    return href.replace(url[2], 'someUrl');

})

不起作用,尝试了其他一些变化,但没有运气。

4

1 回答 1

1

也许尝试:

document.body.innerHTML = $(data).find('a').prop('href', function(_, href){
    url = href.split('/');          
    return href.replace(url[2], 'someUrl');
}).wrap("<div>").parent().html();

我不完全确定您的和之间的区别data()$(data)因为您将它们混合在一起,但它们完全不同。

无论如何,结果.prop(name, func)是之前选择的元素。因此,当您在链中的最后一个调用是.prop(name, func)时,您正在尝试设置document.body.innerHTML为 jQuery 对象...基本上:document.body.innerHTML = $("element");。但我认为您正在尝试获取datas HTML,所以这就是我添加的额外链接应该做的。

于 2013-02-19T21:52:58.920 回答