在javascript中动态添加<li>

时间:2016-06-20 09:47:00

标签: javascript html ajax html-lists

我尝试使用ajax在ul中动态添加元素,我的当前代码是在ajax方法中:

var ul = document.getElementById("menu");
            var li = document.createElement("li");
            li.appendChild(document.createTextNode(array[i]));
            ul.appendChild(li); 

但它创造了&#34;标准&#34; li元素,我想用这种类型创建它们:

<li style="cursor:pointer;"><a onclick="javascript:$('#cod').val(array[i])">array[i]</a></li>

我该怎么做?

[编辑] 我要创建的是THIS(您可以看到它显示为&#34;阴影&#34;表示它是可选择的

但是jvascript会创建这种类型的OPTIONS, 现在你可以看到选项没有得到那个&#34;阴影&#34;。

2 个答案:

答案 0 :(得分:0)

我如何理解此<%=IDAnag%>的内容插入您的后端。当您点击链接时,此内容已经生成。也许你可以试试这样的东西:

&#13;
&#13;
function AppendLi(val){
  var ul = document.getElementById("menu");
  var li = document.createElement("li");
  li.innerHTML= val;
  ul.appendChild(li);
}
&#13;
<li style="cursor:pointer;">
  <a onclick="AppendLi(this.textContent)">
    <%=IDAnag%>
  </a>
</li>
<ul id="menu"></ul>
&#13;
&#13;
&#13;

但我不知道你是如何构建你的后端的。也许最好的方法是在后端添加此事件?

答案 1 :(得分:0)

我自己解决了这个问题,如果这里需要的是代码:

    var ul = document.getElementById("menu");
    var li = document.createElement("li");
    $("li").each(function()
    {
        var $li = $(this);
        $li.css("cursor","pointer");       
    });
    var a = document.createElement("a");
    var l = array[i];
    a.textContent = array[i];

    a.addEventListener("click",function(){
    $("#cod").val(array[i]);
    });
    li.appendChild(a);
    ul.appendChild(li);