如何在div中的几个中获得1个隐藏字段

时间:2009-05-12 21:35:33

标签: javascript jquery

我在1 div中有3个隐藏字段。当我参考这个div时,如何获得这个div中的1个隐藏字段。

7 个答案:

答案 0 :(得分:6)

这也可以(jQuery):

$('#my_div').find('input[type=hidden]:first')

答案 1 :(得分:5)

假设您有DIV,就像这样:

<div id="mydiv">
    <input type="hidden">
    <input type="hidden">
    <input type="hidden">
</div>

你可以使用jQuery做这样的事情来选择所有这些:

$('input:hidden','#mydiv');

使用该选择器,现在您在jQuery集合中拥有所有3个隐藏字段。您可以使用以下几种方法从中选择您想要使用的方法:

$('input:hidden:first','#mydiv'); // get first one using first
$('input:hidden:last','#mydiv'); // get last one using last
$('input:hidden','#mydiv').eq(0); // get first one using eq
$('input:hidden','#mydiv').eq(1); // get second one using eq
$('input:hidden','#mydiv').eq(2); // get third one using eq
$('input:hidden:eq(0)','#mydiv'); // get first one using eq in selector

选项包括:

  • first - 获取集合中第一个匹配的元素。
  • last - 获取集合中最后一个匹配的元素。
  • eq(N) - 获取第N个匹配的元素,基于0。
  • :eq(N) - 在选择器字符串中获取第N个匹配元素,基于0。

我个人是选项3的粉丝,因为我不喜欢选择器中有太多垃圾。

上面的一个警告是,通过使用:hidden选择器,我们可以匹配隐藏的其他输入元素(即,不可见)。如果您希望这种情况发生,或者即使您没有,也可以这样做:

$('input[type=hidden]', '#mydiv').eq(0);

答案 2 :(得分:4)

没有任何代码,很难提供帮助,但我会说隐藏字段为ID并使用:

var hdn = document.getElementById("id");

或者如果您正在使用Jquery:

var hdn = $("#id");

答案 3 :(得分:1)

var firstHidden = $("input[type='hidden']:first", ref);

:first pseudo-classattribute selector

var firstHidden = $("input:hidden:first", ref);

:hidden pseudo-class(小心,因为:hidden也找到了style =“display:none”的元素)

var firstHidden = $("input[type='hidden']", ref).eq(0);

.eq()

其中'ref'变量是对DIV元素的引用

答案 4 :(得分:1)

如果是这样的话:

<div id="somediv">
    <input type="hidden"/>
    <input type="hidden"/>
    <input type="hidden"/>
</div>

你正在使用jquery,你可以这样写:

$("#somediv > input[type='hidden']:eq(1)")

它应该返回对第一个隐藏字段的引用。如果你想要第二个,请使用“eq(2)”等等。

答案 5 :(得分:1)

我会为你想要找到的隐藏分配一个类 - 对程序员在4年内回顾它有点容易。我使用“id”作为隐藏的例子。一旦你用jQuery找到它 - 你可以使用.val()来获取它的值。

HTML:

<div id="mydiv">
  <input type='hidden' name='mydiv_id' class='idField' value='test1' />
  <input type='hidden' name='mydiv_hidden2' class='option2' value='test2' />
  <input type='hidden' name='mydiv_hidden3' class='option3' value='test3' />
</div>

jQuery的:

//execute on document ready:
$(function() {
  var div = $('#mydiv'); //some jquery/dom element "div"

  // use the jQuery selector with "div" as our context.
  var $hidden = $('input.idField', div);

  alert($hidden.val()); // should alert 'test1'
});

答案 6 :(得分:1)

作为参考,如果你没有像原版海报一样使用jQuery并假设上面的结构:

<div id="mydiv">
  <input type="hidden">
  <input type="hidden">
  <input type="hidden">
</div>

var div = document.getElementById('mydiv');
var inputs = div.getElementsByTagName('input');
for(var i = 0; i < inputs.length; i++){
  // Match your input with inputs[i].name, etc.
}