0

我有以下代码:

<input pid="hidVoteKey" type="hidden" value="0" />
    <ul id="mainPostList" class="verticalList">
        @foreach (var postViewModel in Model.Posts)
        {
            <li><div class="voteCon">...</div></li>
        }
    </ul>

然后我有一个 jquery,它使用类 voteCon 循环所有元素,然后尝试像这样获取父输入:

$(".voteCon").each(function () {
     InitVoteControl($(this), $(this).parent("input[pid='hidVoteKey']").val());
 });

问题是它不会找到隐藏域?

在这种情况下,voteCon 包含向上/向下按钮,并且这里绑定了一些 JavaScript 函数来进行 ajax 调用。在同一页面上将有多个列表,如上面的列表,但它们都有不同的 hidVoteKey。

4

2 回答 2

1

它不会找到 ,因为<input>不是<div class="voteCon">. 它与 (的兄弟)处于同一级别<ul>,后者是 的祖先<div>。你可以这样做:

$(this).closest('ul').prev('input[pid="hidVoteKey"]').val()
于 2013-01-18T21:13:34.153 回答
0

只需使用 then 不要键入 hidden ,您可以使用 inline style="display:none;"

于 2013-01-18T21:13:59.063 回答