我的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->第一次-父节点-

  <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>

最佳答案

这是您要完成的示例。我认为您可能对您的选择不满意。尝试使用开发人员工具确保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');
    }
});

关于javascript - 使用JSON数据类型从Ajax向新数据添加新类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37850428/

10-12 00:34
查看更多