按钮为动态生成,<input type = "button" id="apple" value=“app"/>
用$("apple").attr("id")可以获取其id,但用$("apple").val()有时获取不到,用$("apple").attr("value")也获取不到
jquery 能获取按钮的id但不能获取到值
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
4条回答 默认 最新
关注让【道友老李】来帮你解答,本回答参考gpt编写,并整理提供,如果还有疑问可以点击头像关注私信或评论。
如果答案让您满意,请采纳、关注,非常感谢!
问题分析:- 当按钮为动态生成时,使用jQuery的
$()方法获取id和value属性可能会出现问题。 - 在这种情况下,
$().val()可能无法正确获取按钮的值,而$().attr("value")也无法正确获取按钮的值。 解决方案: - 在动态生成的按钮上添加一个class或者自定义的属性来标识该按钮,以便更方便地通过jQuery选择器来获取。
- 使用事件代理来处理动态生成的按钮的点击事件。 示例代码:
<!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属性的值。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报- 当按钮为动态生成时,使用jQuery的