我想要实现一个非常简单的任务,用一个调用ajax调用的页面的头节点替换页面的头节点。
我这样做:
url = 'http://myurl';
$.get(url, function(results){
var head = $('head', results);
$('head', results).each (
function() {
alert("got a match ");
});
var form = $("form.ajax_form_result", results);
//update the ajax_form_result div with the return value "form"
$('head').html(head);
$('#ajax_form_result').html(form);
}, "html");
表单更新工作没有问题,但头更新不起作用。 $(“头”,结果);不返回节点,导致新文档中出现空头。
答案 0 :(得分:1)
尝试:$("head", $(results));
“results”应该只是html格式的文本块。 “$(result)”应该是在DOM对象中转换的块。
答案 1 :(得分:0)
这对我很有用:
var feed = http://www.feed.com/page.html;
jQuery.get('http://yourdomain.com/proxy.php?url='+feed+'', function(html){
if (html == '') {
alert('Invalid URL');
return false;
}
html = html.replace( /<(\/?)(html|head|body)([^>]*)>/ig, function(a,b,c,d){
return '<' + b + 'div' + ( b ? '' : ' data-element="' + c + '"' ) + d + '>';
});
RSSlink = jQuery(html).find('[data-element=head]').find('link[type="application/rss+xml"]').eq(0).attr('href');
});
它应该能够做你需要做的事情!
答案 2 :(得分:0)
我已经为我的问题实施了这个解决方案:
var myUrl="http://urlExampleSubstituteWithYour"
$.get( url, function( data ) {
// Get the string index of the content of the start head tag
var startHead=(data.toString().indexOf("<head>"))+6;
// Get the string index of the finish head tag
var stopHead=data.toString().indexOf("</head>");
// Create a string of the head content of the myUrl page
var head=data.substring(startHead+6,stopHead);
// Apply HTML to my block...
$("#idOfMyBlock").html(head);
});
这个解决方案(也许不是最好的)救了我! 抱歉我的英文!