我已就这个问题进行了一些研究,但我无法弄清楚为什么它不应该按照它的方式运作。我有一个用户使用亚马逊产品ID(ASIN)填写的表单,然后我将该产品ID转换为URL,然后在我的页面上.load()
该URL。问题是,当我使用带.load()
的选择器加载页面的一部分时,.load()
没有做任何事情。
当我仅使用网址删除选择器和.load()
时,.load()
有效。这是我的代码:
<div id = "html" style = "display: none;"></div>
<input id = "url" type = "text" size = "100"></input>
<button id = "load">Load</button>
<script type="text/javascript">
var theURL;
$('#load').on('click', function() {
if ($('#url').val().length < 14)
theURL = 'http://www.amazon.com/dp/' + $('#url').val() + ' #dp';
else
theURL = $('#url').val() + ' #dp';
$('#html').load(theURL);
});
</script>
例如,theURL
为http://www.amazon.com/dp/B00J4GIRH4 #dp
,当我在网址#dp
中设置.load()
选择器时,不会提取任何内容(通过检查验证)调用#html
后的.load()
元素。删除#dp
选择器且theURL
为http://www.amazon.com/dp/B00J4GIRH4
后,.load()
正常工作。
答案 0 :(得分:2)
id="dp"
位于亚马逊网页的body
元素上。提供给#
的{{1}}引用将搜索已加载面板的后代。不是load()
元素本身。
尝试定位子元素,或者在默认情况下返回body
时忘记选择器。