在我的主html页面的正文中,我有<span id="someID">Something to be changed.</span>
我有一个脚本,每隔一秒加载到另一页的标签$("#someID").load("otherPage.html #IDfromOtherPage");
另一方面html页面,我所拥有的唯一行是标签,例如:
<span id="IDfromOtherPage">1</span>
<span id="AnotherIDfromOtherPage">2</span>
在脚本的开头,我有一个警告,alert(document.getElementByID("someID").innerHTML
设置用于调试目的,在.load之前,警报说&#34;要改变的东西。&#34;,这是正确的。然后它运行.load,等待一秒然后再次运行该函数,并显示下一个警报。在第一个正确的警报之后的每个警报都说明了otherPage.html文件中的整行。警报说&#34; <span id="IDfromOtherPage">1</span>
&#34;而不只是&#34; 1&#34;。
难道我做错了什么? (这些id名称和文件名只是为了让这个问题更容易理解,而不是实际的变量名称)
主html文件:
<body>
<span id="someID">Text to change.</span>
</body>
<script>
$(document).ready(function(){
$.ajaxSetup({ cache: false });
setInterval(function(){
alert(document.getElementById("someID").innerHTML);
$("#someID").load("values.html #IDfromOtherPage");
}, 1000);
});
</script>
在我的其他html文件中
<span id="IDfromOtherPage">1</span>
<span id="AnotherIDfromOtherPage">2</span>
答案 0 :(得分:0)
documentation of jQuery load(带有片段#selector)声明:
插入此元素及其内容
所以innerHTML
的{{1}}变为#someId
,而不仅仅是<span id="IDfromOtherPage">1</span>
,正如您所期待的那样。这解释了警报显示完整HTML片段的原因。
要查看1
,请尝试以下操作:
1
这将剥离所有HTML,只使用元素中存在的文本。