我在页面上有几个内容项,所有内容项都被隐藏,并且每个内容项都有一个唯一的ID。 #data用作临时堆栈。
<div id="data"></div>
<div id="item1212">...</div>
<div id="item2323">...</div>
<div id="item3434">...</div>
<div id="item4545">...</div>
Ajaxrequest给了我一个特定的ID
$('#data').load('http://someURL');
填写#data:
<div id="data">2323</div>
宽度这一行我使我的对应项目可见:
var theID = $('#data').text().val();
$('#item'+theID).toggleClass('visible');
这是我的想法。猜猜:Ist不起作用,因为它无法读取#data并将该值用作字符串。它也是一个对象(?)。
我首先在html中保存值,因为我不知道如何将ajax-result(它总是一个字符串值)保存到JS变量。
但我想你有更好的想法如何解决我的问题:显示项目宽度是由ajax接收的某个ID
答案 0 :(得分:3)
您的逻辑工作正常(除了您不需要val()
的事实),您只需要在 load()
调用完成后执行它是异步的。目前,您尝试在新内容存在之前尝试访问它。为此,您可以使用callback参数,如下所示:
$('#data').load('http://someURL', function() {
var theID = $('#data').text();
$('#item' + theID).toggleClass('visible');
});