我正在使用Chrome扩展程序,而我正在调用的click()方法仅在将其粘贴到Extension Inspector的控制台后才有效。
标记是这样的:
<ul id="results-list">
<li><a href="#">something</a></li>
<li><a href="#">something</a></li>
... and so on ...
</ul>
所以,没什么特别的,真的。但是,正在根据表单提交返回的json数据填充那些<li><a>...</a></li>
。所以,我认为它与onReady()中没有的元素有关,但我已经多次尝试将匿名方法(下面)放在onReady,onReady之外,以及in&amp;在onSubmit之外,仍然没有运气。
我的jQuery如下:
$(document).ready(function(){
$('form').submit(function(){
... make the JSON request & populate the form ...
});
$("#results-list a").click(function(){
$('body').width(600);
return false;
});
});
任何人都对此有任何见解?我认为这是我的.click()
方法的位置,或者我不知道的Chrome扩展程序。
谢谢!
答案 0 :(得分:1)
将您的事件移动到回调中,因为您尝试访问的DOM部分在从服务器返回之前不可用:
$(document).ready(function(){
$('form').submit(function(){
// ... make the JSON request & populate the form ...
$.ajax({
url: yourUrl,
data: yourData,
success: function(data) {
// Build your list and then:
$("#results-list a").click(function(){
$('body').width(600);
return false;
});
}
});
});
});