从JavaScript填充ul获取li值

时间:2017-06-08 14:27:41

标签: javascript jquery

我直接在HTML中填写了一些" ul"

<button class="btn btn-primary dropdown-toggle" type="button" data-toggle="dropdown">Kennzahl
    <span class="caret"></span></button>
        <ul class="dropdown-menu" id="measure">
            <li><a href="#">volume</a></li>
            <li><a href="#">netSentiment</a></li>
            <li><a href="#">authors</a></li>
        </ul>

并且通过

读取所选值没有任何问题
$('#measure li').on('click', function(){
    $(this).text();
});

然后我试图从&#34; ul&#34;中获取所选的值。我用JavaScript填充:

这样的东西
$('#projectId').append('<li><a href="#">' + projects[i].name + '</a></li>');

选择用&#34; li&#34; s填充。但是当我选择一个时,结果并没有被我可以使用的&#34; li&#34;直接填写HTML。

2 个答案:

答案 0 :(得分:0)

在页面加载后动态添加新元素时,需要将事件委托给父元素。您几乎完成了此操作,只需将代码更改为

即可
$('#measure').on('click','li', function(){
    $(this).text();
});

请注意,此处的方法不会执行任何操作 - 但我保持代码与您的示例非常接近。也许你的意思是console.log($(this).text());

答案 1 :(得分:0)

您需要的是动态创建元素的绑定

&#13;
&#13;
$('#measure').on('click', 'li', function(){
    alert($(this).text());
});

$('#measure').append('<li><a href="#">abc</a></li>');
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

   
    <span class="caret"></span></button>
        <ul class="dropdown-menu" id="measure">
            <li><a href="#">volume</a></li>
            <li><a href="#">netSentiment</a></li>
            <li><a href="#">authors</a></li>
        </ul>
&#13;
&#13;
&#13;

这里我使用jquery创建了abc li,但仍然点击它,它就像其他li一样发出警告。