stevenjin 2025-01-13 18:46 采纳率: 96.8%
浏览 9
已结题

jquery 能获取按钮的id但不能获取到值

按钮为动态生成,<input type = "button" id="apple" value=“app"/>
用$("apple").attr("id")可以获取其id,但用$("apple").val()有时获取不到,用$("apple").attr("value")也获取不到

  • 写回答

4条回答 默认 最新

  • 道友老李 JWE233286一种基于机器视觉的水表指针读数识别及修正的方法 专利发明者 2025-01-13 18:47
    关注
    让【道友老李】来帮你解答,本回答参考gpt编写,并整理提供,如果还有疑问可以点击头像关注私信或评论。
    如果答案让您满意,请采纳、关注,非常感谢!
    问题分析:
    1. 当按钮为动态生成时,使用jQuery的$()方法获取id和value属性可能会出现问题。
    2. 在这种情况下,$().val()可能无法正确获取按钮的值,而$().attr("value")也无法正确获取按钮的值。 解决方案:
    3. 在动态生成的按钮上添加一个class或者自定义的属性来标识该按钮,以便更方便地通过jQuery选择器来获取。
    4. 使用事件代理来处理动态生成的按钮的点击事件。 示例代码:
    <!DOCTYPE html>
    <html>
    <head>
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
    <script>
    $(document).ready(function(){
        // 给动态生成的按钮添加一个class来标识
        var button = '<input type="button" id="apple" class="dynamic-button" value="apple"/>';
        $('#container').append(button);
        // 使用事件代理来处理动态生成的按钮的点击事件
        $('#container').on('click','.dynamic-button', function(){
            var id = $(this).attr('id');
            var value = $(this).val();
            console.log('id:', id);
            console.log('value:', value);
        });
    });
    </script>
    </head>
    <body>
    <div id="container"></div>
    </body>
    </html>
    

    在这个示例中,我们动态生成了一个按钮并添加了class属性dynamic-button来标识该按钮,然后使用事件代理处理按钮的点击事件。通过这种方式,即使按钮是动态生成的,我们仍然可以准确获取到按钮的id和value属性的值。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 5月17日
  • 已采纳回答 5月9日
  • 创建了问题 1月13日