您好我试图通过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>
由于
杰米
答案 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 !!
感谢所有帮助过的人。
库尔!
Ĵ
答案 2 :(得分:-1)
您不应在网址中提供任何空格。之前还有一个空间。 #概要&#39;
$('div#pop-up').load(a_href[0] + '#synopsis');