使用 JQuery 选择具有特定类的特定行的子项

Posted

技术标签:

【中文标题】使用 JQuery 选择具有特定类的特定行的子项【英文标题】:Select a specific row's childs with a specific class with JQuery 【发布时间】:2013-06-18 09:58:00 【问题描述】:

我想选择所有具有“szoveg”类的元素

<tr>
<td><input type=hidden name=sss value=M></td>
<td><input type=hidden![enter image description here][1] name=mmm value=U></td>
<td><input class="szoveg" type=text name=x3 maxlength=5 size=31></td>
<td><input class="szoveg" type=text name=x4 maxlength=20 size=52></td>
<td><input class="szoveg" type=text name=x5 maxlength=20 size=43></td>
<td><input class="szoveg" type=text name=x6 maxlength=200 size=75></td>
<td colspan=2><input class="gomb" type=submit value=New onclick="changeColor2()"></td>
</tr>

我可以选择带有$("#megye_tablazat tr").eq(3)特定行,但不能选择类为szoveginput elements。 如何使用 JQuery 实现它?

我检查了一下,它就在这里,在文档树中......

【问题讨论】:

为什么你的隐藏输入直接嵌套在tr 中?仅仅因为它们被隐藏并不意味着您可以将它们放在那里。 因为它将是表单提交或 ajax 提交中所需的信息...但这不是重点...更多我不编写此代码,我只需要扩展它一个功能 @BoltClock 建议,你应该把它放在其他地方,例如在表格声明之前。 只有 tdth 元素可以是 tr 元素的子元素。浏览器很可能会纠正您无效的 html 并将 input 元素移动到表格之前或之后,或者只是忽略它们。始终创建有效的 HTML!除此之外,尚不清楚您的问题是什么。您想访问哪个input?你想做什么? 好的,为了清楚起见,我没有编写此代码:S 并且这是在某些公司使用的,我认为我无权重构它只是为了扩展它的某些功能。 .. 【参考方案1】:

试试find()

 $("#megye_tablazat tr").eq(3).find('input.szoveg').each(function()....);

【讨论】:

【参考方案2】:

使用 each() 函数:

$("input.szoveg"). each (function()      
    // in here, you have the current input as this. fe:
    console.log($(this).val());
);

【讨论】:

这将是一个很好的解决方案,如果我在此页面中没有数百行并且我不想要特定行!

以上是关于使用 JQuery 选择具有特定类的特定行的子项的主要内容,如果未能解决你的问题,请参考以下文章

jQuery 需要帮助在具有特定类的 div 元素中选择 tr 元素

使用 jQuery 获取不是具有特定 CSS 类的容器的子元素的元素的后代

使用jQuery选择具有特定数据属性的元素

如何在jQuery中获取对具有特定值的表行的引用

如何使用jquery选择具有特定字符串的类开头和结尾的元素?

使用选择器获取具有特定背景颜色的所有 tr