jQuery ready函数无输出求助:按钮点击无控制台日志
问题排查与解决
嘿,我一眼就发现问题所在啦!你的jQuery事件绑定没生效,核心原因是选择器的写法错误。
错误原因分析
你写的选择器是:
$('#append','#prepand','#replace')
jQuery的$()函数如果传入多个字符串参数,第二个及以后的参数会被当作「查找上下文」,而不是多个选择器的组合。也就是说,这段代码实际是在#prepand和#replace元素内部查找#append元素,这显然和你的预期不符,自然不会给三个按钮绑定点击事件。
修正方案
把多个选择器合并到同一个字符串里,用逗号分隔,这才是jQuery中选择多个元素的正确写法:
$(document).ready(function(){ $('#append, #prepand, #replace').on('click', function(e){ var e1 = $(e.currentTarget); var action = e1.attr('id'); if (action == "prepand"){ console.log("Prepanding"); } else if (action == "append") { console.log("Appending"); } else if(action == "replace"){ console.log("Replacing"); } }); });
额外小提醒
顺便提一句,你按钮的id拼写有误:prepand应该是prepend(这是jQuery内置方法的正确拼写)。虽然这个拼写错误暂时不影响当前的日志输出,但如果后续你要执行实际的前置插入操作,这个拼写问题会导致代码失效,建议提前修正~
内容的提问来源于stack exchange,提问作者Alex
相关产品推荐
相关产品推荐

