4

我目前正在尝试从 DIV 获取所有输入元素。

$("[required]").each(function() {

});

我有这段代码,它返回具有required属性的每个元素。

我知道在函数中each()我可以使用每个项目,例如:

$(this)

所以我得到了如下所示的 div ID,并尝试通过以下方式从中获取所有输入:

var id = $(this).attr('id');
console.log("### " + id);
console.log($("#" + id + " > :input").length);

当我在该 DIV 中有 4 个放入元素时返回 0(在 div 中也有一个表)。

我最理想的做法是为 div 中的每个输入元素打印其 ID。

更新

<div id="contactAddress" required="true">

 <td>Addres line 1:</td>
 <td colspan="2">
 <input type="text"/>
 </td>
 <td>Addres line 2:</td>
 <td colspan="2">
 <input type="text" />
 </td>
 </tr>
</div>

console.log($(this).html());

不显示任何内容,但如果我在下面添加任何内容或类似内容...

 <div id="contactAddress" required="true">
 <input type="text" />

并运行 console.log($(this).html());它显示它放的不是表?

我使用 Jquery Mobile 的任何想法

4

1 回答 1

10

下面将找到 div 元素内的所有输入。然后它将留下该元素的 id 的日志。

$("div > input").each(function() {
  console.log( $(this).attr("id") );
});

如果您需要包含您可以使用的输入的 div id.parent()

$("input").each(function() {
  console.log( $(this).parent().attr("id") );
});
于 2012-07-19T10:35:39.110 回答