尝试通过使用 jquery 的 DOM 访问来修改输入值

Posted

技术标签:

【中文标题】尝试通过使用 jquery 的 DOM 访问来修改输入值【英文标题】:Trying to modify input value through DOM access with jquery 【发布时间】:2021-07-24 07:05:21 【问题描述】:

我正在尝试通过 DOM 访问将作为参数传入的值(名称)添加到输入元素。这里 'this' 是一个表格行,我试图为表格数据 0 赋予 name 的值。

let tr = $(this).parent().parent(), tds = tr.children();
$(tds[0]).html(`<input type='text' name='name' />`);
$(tds[0]).child.val(name);

输入框显示在表格中,但不显示名称。我在浏览器控制台中遇到的错误是

Cannot read property 'val' of undefined

提前感谢您的任何建议

【问题讨论】:

有什么不直接添加属性value的原因吗? 只是我不知道这样做的正确语法。我现在明白了。 【参考方案1】: 使用.closest()方法 使用.eq()方法通过索引过滤掉特定的TD 直接将值赋给输入
const $tr = $(this).closest("tr");
const $tds = $tr.children("td");
$tds.eq(0).html(`<input type='text' name='name' value="$name" />`);

【讨论】:

以上是关于尝试通过使用 jquery 的 DOM 访问来修改输入值的主要内容,如果未能解决你的问题,请参考以下文章

在node.js中的Webscraper,JS修改了DOM

DOM对象和js对象以及jQuery对象的区别

DOM对象和js对象以及jQuery对象的区别

如何在jquery中重写字符串以避免再次访问dom,并使用jquery选择器

JQuery中的DOM操作

JQuery中的DOM操作