jQuery .load by element ID

时间:2015-08-05 05:27:36

标签: javascript jquery html

您好我试图通过ID从网页加载元素。

我的代码会从' href'中读取网址。标签的属性然后加载页面。我正在剥离文档锚。

此脚本有效,但不会丢弃环绕声元素并加载整个页面。

<script type="text/javascript">
$(function() {
    var a_href = $('#pycom').attr('href').split('#');
    $('div#pop-up').load(a_href[0] + '#synopsis');
});
</script>

<body>
    <a id="pycom" href="content/documentation/CommandsPython/ls.html#hFlags">ls</a>
</body>

上面的链接存在于我的服务器(XAMPP)本地,按照&#39; html&#39;上面的代码。

以下是我想要提取的内容。

<p id="synopsis">
    <code>
        xform([objects...], 
        [<a href="#flagabsolute">absolute</a>=<i>boolean</i>], 
        [<a href="#flagboundingBox">boundingBox</a>=<i>boolean</i>],
        .....
        .....

    </code>

由于

杰米

3 个答案:

答案 0 :(得分:0)

At first get your page, and then inside the 
content find your element with id named 'synopsis' as below:

 var a_href = $('#pycom').attr('href').split('#');
 $("div#pop-up").load(a_href[0] + " #synopsis" );

它应该可以工作,但在此之前检查您的浏览器是否支持混合内容。如果您的网址包含https内的http,则浏览器可能不支持,在这种情况下,您必须禁止在浏览器中进行检查。

感谢。

答案 1 :(得分:0)

好的解决了。我正在使用 jQuery 2.4.1 ,它显然有一个应该被修复的bug ..但似乎不是?见http://bugs.jquery.com/ticket/14773

我改为使用 jQuery 1.11.3

下面是我的最终代码:

<script type="text/javascript" src="content/scripts/jquery-1.11.3.js"></script>
<script type="text/javascript">
    $(function() {
        var moveLeft = -10;
        var moveDown = 10;

        $('a#pycom').hover(function(e) {
            var a_href = $(this).attr('href').split('#');
            $('#pop-up').load(a_href[0] + ' #synopsis');
            $('div#pop-up').show().css('top', e.pageY + moveDown).css('left', ((e.width/100)*1) + moveLeft);
        }, function() {
            $('div#pop-up').hide();
        });
    });
</script>

使用 .get 的以下方法也完全相同,只是提供了能够处理回调中返回的字符串的好处..在这种情况下是所请求的所选元素的尾部。 ..非常好的东西。

$('a#pycom').hover(function(e) {
    var a_href = $(this).attr('href').split('#');
    $.get(a_href[0], function(response) {
        $('#pop-up').html($(response).filter('#synopsis').html().split('<br>')[0]);
        });    
    });

现在拥有像BOSS一样的jQuery !!

jQuery .get in action!

感谢所有帮助过的人。

库尔!

Ĵ

答案 2 :(得分:-1)

您不应在网址中提供任何空格。之前还有一个空间。 #概要&#39;

 $('div#pop-up').load(a_href[0] + '#synopsis');