修改带data-id元素的td.qty内容时遇TypeError及语法错误求助
解决jQuery修改指定data-id元素下td.qty内容的错误问题
咱们先逐个拆解你遇到的两个错误,再给出正确的写法:
第一个错误分析与修复
你第一段脚本里出现的错误:
TypeError: $(...).find(...).$ is not a function
问题出在.$("td.qty")这部分——jQuery根本没有.$()这个方法!要查找当前元素下的子元素,你应该用.find()方法。把.$()改成.find()就能解决这个语法问题。
第二个错误分析与修复
第二段脚本的错误:
Syntax error, unrecognized expression: data-id="1a06348da52c757b7c3460dae71f464b"
这里有两个问题:
- 属性选择器必须用**方括号
[]**包裹,你漏了开头的[,正确的属性选择器格式是[data-id="对应值"]; - 同样存在
.$()这个非法方法的问题,需要换成.find()。
正确的脚本写法
这里给你两种可行的写法,选哪种都可以:
写法一:链式调用find方法
$('#body-a').find('[data-id="' + result.rowId + '"]').find("td.qty").html(result.qty);
写法二:合并选择器一步到位
把所有条件合并成一个选择器,代码更简洁:
$('#body-a [data-id="' + result.rowId + '"] td.qty').html(result.qty);
这样修改后,就能正确定位到带有指定data-id的元素下的td.qty,并修改它的HTML内容啦。
内容的提问来源于stack exchange,提问作者Billyanto Hendrik
相关产品推荐
相关产品推荐

