动态显示由whateverorigin.org返回的来自jsonp的特定div



我需要获得有关某些网站的whois信息并将其显示到我的网站上。我设法实现它,但它不是一个直接的方法,我认为有可能以更好的方式做到这一点。我是这样做的

例如,我需要的whois信息http://megaanswers.com/所以与whateverorigin.org我得到了jsonp请求如下http://whateverorigin.org/get?url=http%3A%2F%2Fwww.domaininformation.de%2Fwhois%2Fmegaanswers.com (encodeURIComponent之后),但这包含了整个页面,但我只需要页面的一部分class="result"。

现在数据。内容将给出整个页面的HTML代码。使用jquery将此html代码添加到id="target"的div中,并为该div指定style="display:none;",以便该div不显示在页面上。现在,使用jquery选择类result的元素,并将其html添加到id="realtarget"

的div中。

最后的代码应该是这样的

<div id="target" style="display:none;"></div>
<div id="realtarget"></div> 
<script>            
                $.ajaxSetup({
    scriptCharset: "utf-8", //maybe "ISO-8859-1"
    contentType: "application/json; charset=utf-8"});
    $.getJSON('http://whateverorigin.org/get?url=' + 
    encodeURIComponent('http://www.domaininformation.de/whois/megaanswers.com') + '&callback=?',
    function(data) {
        var thecontents = data.contents;
        $('#target').html(thecontents);
        var required = $('.result').html();
        $('#realtarget').html("<pre>" + required + "</pre>");
});
</script>

但是,如果不首先将整个页面的html代码附加到具有id="target"的div,然后选择所需的class="result"(直接选择class="result"),是否可以做到这一点?

使用jquery可以选择元素为变量。(但不要把它编辑进去):试试这个:

function(data) {
     var thecontents = data.contents;
     var required = $('.result', thecontents).html(); // select '.result' class in 'thecontents'
     $('#realtarget').html("<pre>" + required + "</pre>");
});

演示:http://jsfiddle.net/f97WG/2/

相关内容

  • 没有找到相关文章

最新更新