我在页面上有几个内容项,它们都是隐藏的,并且每个都有一个唯一的 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>
宽度这条线我使我的 correspondig 项目可见:
var theID = $('#data').text().val();
$('#item'+theID).toggleClass('visible');
这是我的想法。猜测:Ist 不起作用,因为它无法读取#data 并将该值用作字符串。它始终是一个对象(?)。
我首先在 html 中保存值,因为我不知道如何将 ajax 结果(它始终是一个字符串值)保存到 JS 变量。
但我猜你有更好的想法来解决我的问题:显示项目宽度一个由 ajax 接收的特定 ID
最佳答案
您的逻辑工作正常(除了您不需要 val()
的事实),您只需要在 load() 之后执行它
调用完成,因为它是异步的。当前,您正在尝试在新内容存在之前访问它。为此,您可以使用回调参数,如下所示:
$('#data').load('http://someURL', function() {
var theID = $('#data').text();
$('#item' + theID).toggleClass('visible');
});
关于javascript - 显示 ajax 接收到的某个 ID 的项目宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45618650/