【问题标题】:Manipulating dynamic elements in jQuery在 jQuery 中操作动态元素
【发布时间】:2014-12-02 02:55:54
【问题描述】:

我有一个下拉菜单,其中包含通过 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)... 选择器的事件委托,但我仍然得到相同的结果。我有点难过。任何建议表示赞赏!

【问题讨论】:

    标签: javascript jquery dynamic pug


    【解决方案1】:

    .text 替换为.text()

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

    See the full .text() documentation.

    【讨论】:

    • 你太快了。
    • @JoeFrambach 2 分钟以上。太长了:)
    • 哇,真是个疏忽。非常感谢!
    猜你喜欢
    • 2018-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多