在Div中选择输入隐藏值

时间:2018-06-11 16:57:10

标签: jquery html

我正在尝试在最后hidden内选择Div输入值,但它返回undefined值,我尝试了所有可用的解决方案,但没有任何方法可以正常使用。我知道我错过了什么。

这是我的HTML

<div class="col-xs-12 video_main_category" id="appendData">
    <div class="col-xs-12 col-sm-4 col-md-12 DataHomePage" id="itemList">
        <input name="CatShowID" type="hidden" value="1">
        <input name="ItemShowID" type="hidden" value="7">
    </div>
    <div class="col-xs-12 col-sm-4 col-md-12 HomePage" id="itemList">
        <input name="CatShowID" type="hidden" value="2">
        <input name="ItemShowID" type="hidden" value="6">
    </div>
    <div class="col-xs-12 col-sm-4 col-md-12 DataHomePage" id="itemList">
        <input name="CatShowID" type="hidden" value="3">
        <input name="ItemShowID" type="hidden" value="5">
    </div>
    <div class="col-xs-12 col-sm-4 col-md-12 DataHomePage" id="itemList">
        <input name="CatShowID" type="hidden" value="4">
        <input name="ItemShowID" type="hidden" value="4">
    </div>
</div>

这是我的JS

function appendData() {
    var MainLastID = $('#appendData').children('#itemList input:hidden[name=CatShowID]').last().val();
    alert(MainLastID);
}

3 个答案:

答案 0 :(得分:2)

您可以使用#appendData input:hidden[name=CatShowID]

注意:id应该是唯一的,您可以将itemList用作类。

&#13;
&#13;
var MainLastID = $('#appendData input:hidden[name=CatShowID]').last().val();

console.log(MainLastID);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="col-xs-12 video_main_category" id="appendData">
  <div class="col-xs-12 col-sm-4 col-md-12 DataHomePage itemList">
    <input name="CatShowID" type="hidden" value="1">
    <input name="ItemShowID" type="hidden" value="7">
  </div>
  <div class="col-xs-12 col-sm-4 col-md-12 HomePage itemList">
    <input name="CatShowID" type="hidden" value="2">
    <input name="ItemShowID" type="hidden" value="6">
  </div>
  <div class="col-xs-12 col-sm-4 col-md-12 DataHomePage itemList">
    <input name="CatShowID" type="hidden" value="3">
    <input name="ItemShowID" type="hidden" value="5">
  </div>
  <div class="col-xs-12 col-sm-4 col-md-12 DataHomePage itemList">
    <input name="CatShowID" type="hidden" value="4">
    <input name="ItemShowID" type="hidden" value="4">
  </div>
</div>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

使用此:

 $('#appendData > #itemList input:hidden[name=CatShowID]').last()

而不是:

$('#appendData').children('#itemList input:hidden[name=CatShowID]').last()

你的问题是你在子选择器中有太多的东西(.children只匹配直接后代)

答案 2 :(得分:0)

你可以在很多解决方案中解决这个问题,这是我的解决方案

$('#appendData').children(":last-child").find('input[name="CatShowID"]').val();