使用选择器调用.load()不起作用

时间:2015-09-11 14:06:17

标签: javascript jquery

我已就这个问题进行了一些研究,但我无法弄清楚为什么它不应该按照它的方式运作。我有一个用户使用亚马逊产品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>

例如,theURLhttp://www.amazon.com/dp/B00J4GIRH4 #dp,当我在网址#dp中设置.load()选择器时,不会提取任何内容(通过检查验证)调用#html后的.load()元素。删除#dp选择器且theURLhttp://www.amazon.com/dp/B00J4GIRH4后,.load()正常工作。

1 个答案:

答案 0 :(得分:2)

id="dp"位于亚马逊网页的body元素上。提供给#的{​​{1}}引用将搜索已加载面板的后代。不是load()元素本身。

尝试定位子元素,或者在默认情况下返回body时忘记选择器。