显示项目宽度ajax

时间:2017-08-10 16:09:06

标签: javascript jquery html ajax

我在页面上有几个内容项,所有内容项都被隐藏,并且每个内容项都有一个唯一的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

1 个答案:

答案 0 :(得分:3)

您的逻辑工作正常(除了您不需要val()的事实),您只需要在 load()调用完成后执行它是异步的。目前,您尝试在新内容存在之前尝试访问它。为此,您可以使用callback参数,如下所示:

$('#data').load('http://someURL', function() {
  var theID = $('#data').text();
  $('#item' + theID).toggleClass('visible');
});