使用JSON数据类型从Ajax向新数据添加新类

时间:2016-06-16 05:20:02

标签: javascript jquery json ajax oracle-jet

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

2 个答案:

答案 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');,看看会发生什么。