我的Ajax
请求工作正常,并返回所需的数据。但我想在class
请求中添加新的<li>
到AJAX
元素。我正在尝试在Ajax $elm.addClass("newclass")
下添加新类success
,但我没有看到这个新类被添加到新的li
元素中。没有错误。我不确定这有什么不对,因为我也没有收到任何错误。
function loadSuccess(data, status, obj)
{
for (i = 0; i < data.length; i++) {
var nodeid = data[i].attr.id;
if (nodeid=="BALX") {
$("#"+nodeid).addClass("selected");
}
}
};
HTML - 来自Chrome Inspector - &gt;第一次 - 父节点 -
<ul role="tree" style="outline:none">
<li role="treeitem" id="ALLACCOUNTS" <span >ALLACCOUNTS --1</span></a></li>
</ul>
---------------点击父节点“ALLACCOUNTS”后 - 它是一个Ajax调用-----
<ul role="tree" style="outline:none"><li role="treeitem" id="ALLACCOUNTS" ><a class=""><span class="oj-tree-title">ALLACCOUNTS --1</span></a><ul class="" style="overflow: hidden; display: block;"><li id="BALX" ><a ><span >BALSHEET --2</span></a></li></ul></li></ul>
答案 0 :(得分:1)
以下是您要完成的示例。我想你可能不在你的选中。尝试确保jquery实际上是使用开发人员工具找到元素:
https://jsfiddle.net/9j429sw4/
<强> HTML 强>
<div id="test1">Test 1</div>
<div id="test2">Test 2</div>
<div id="test3">Test 3</div>
<div id="test4">Test 4</div>
<强> CSS 强>
.selected {
background-color: green;
color: red;
}
<强>的JavaScript 强>
var ids = ["test1", "test2", "test3", "test4"];
$.ajax({
type: 'GET',
url: '/echo/json',
success: function (response) {
for (var i = 0; i < ids.length; i++) {
if (ids[i] == "test2") $("#"+ids[i]).addClass('selected');
}
},
error: function (err) {
alert('error');
}
});
答案 1 :(得分:0)
尝试使用.class而不是#id。
并使用console.log( $("#"+nodeid) );
查找此元素,以验证它是否确实存在。
也许你不仅仅是onde #id元素而且还有一些错误。
将此$("#nodeid_name").addClass('selected');
强行插入浏览器控制台,例如$("#BALX").addClass('selected');
,看看会发生什么。