使用jQuery点击按钮后定位同li下指定元素并赋值的问题求解
问题原因分析
你的代码存在两处逻辑错误导致无法定位到目标元素:
- 错误调用
siblings()方法:该方法作用是获取当前元素的同级兄弟元素,closest('li').siblings()会获取当前点击按钮所在li之外的另外两个li,完全偏离了获取当前li内价格元素的需求 - 错误的取值方式:
html(参数)是赋值方法,返回值为jQuery对象,直接alert该返回值不会得到你想要的内容
正确实现方案
jQuery(document).ready(function($){ $('.chbs-button-style-2').on('click', function() { var cust_val = '€35.00'; // 可根据需要自定义值的格式和内容 // 向上查找最近的chbs-vehicle-content父容器,再在容器内查找价格元素 $(this).closest('.chbs-vehicle-content').find('.chbs-vehicle-content-price').html(cust_val); // 如果需要弹出确认写入的内容,可单独调用无参数的html()获取内容 // alert($(this).closest('.chbs-vehicle-content').find('.chbs-vehicle-content-price').html()); }); });
逻辑说明
- 点击按钮时通过
$(this)锚定当前触发事件的按钮元素 - 调用
closest('.chbs-vehicle-content')向上遍历DOM,找到同时包裹了按钮和价格元素的公共父容器 - 调用
find('.chbs-vehicle-content-price')在父容器范围内查找目标价格div,直接写入自定义值即可
内容的提问来源于stack exchange,提问作者Tayyab Vohra
相关产品推荐
相关产品推荐

