使用jQuery获取元素name属性值失败,仅能获取id的问题求助
问题解决:无法获取元素name属性值的修正方案
问题根源
你的代码存在两处关键错误:
- 选择器语法错误:
find('names')是在查找<names>标签,但目标元素的类是names,类选择器需要以.开头,正确写法是.names。 - 属性获取方法错误:
.val()用于获取输入框的value属性值,要获取name属性,需使用.attr('name')或.prop('name')。
修正后的jQuery代码
(function ($){ $(document).on('click','.post',function(e){ console.log($(this).text()); // 修正选择器与属性获取方式 console.log($(this).find('.names').attr('name')); // 若需兼容动态DOM元素,也可使用.prop('name'),效果一致 // console.log($(this).find('.names').prop('name')); }); })(jQuery);
额外说明
如果需要同时获取该元素的value值,可保留.val(),例如:
const $nameInput = $(this).find('.names'); console.log('name属性:', $nameInput.attr('name')); console.log('value值:', $nameInput.val());
内容的提问来源于stack exchange,提问作者Jhon Fer
相关产品推荐
相关产品推荐

