在jQuery中操作动态元素

时间:2014-10-07 15:50:09

标签: javascript jquery dynamic pug

我有一个下拉菜单,其中包含通过Jade模板动态生成的值。当单击其中一个下拉菜单项时,我希望下拉标题文本更新为所选菜单项的文本值,如下所示:

-Select an item:-
    - Item 1
    - Item 2
    - Item 3 

[somebody clicks on item 3...]--->

-Item 3:-
    - Item 1
    - Item 2
    - Item 3

这是我的代码:

$('.selectShow').click(function() {
    console.log($(this).text);
    $('#showSelectDropdown').text($(this).text);
});

控制台获取了一个奇怪的未定义的JSON对象,如果我将第三行更改为$(#showSelectDropdown).text('hello!');这样的工作,那么我假设它的一些问题是值是动态生成的(虽然我不清楚为什么这是一个问题,因为我使用jquery并且整个事情都包含在(document).ready中。我发现了类似的stackOverflow thread这表明使用.on('click)...选择器使用事件委托,但我仍然得到相同的结果。我很难过。任何建议都值得赞赏!

1 个答案:

答案 0 :(得分:3)

.text替换为.text()

$('.selectShow').click(function() {
    console.log($(this).text());
    $('#showSelectDropdown').text($(this).text());
});

See the full .text() documentation