【问题标题】:Get the value of: e.target.parentElement.parentElement.childNodes[1]获取值:e.target.parentElement.parentElement.childNodes[1]
【发布时间】:2014-04-11 14:43:34
【问题描述】:

我在 DOM 中有这个元素,我可以使用这个来读取它:

e.target.parentElement.parentElement.childNodes[1]

它呈现如下(在控制台中):

e.target.parentElement.parentElement.childNodes[1]
<td>​
"
                                1
                                "
<input length=​"9" data-val=​"true" data-val-number=​"The field TarriffID must be a number." data-val-required=​"The TarriffID field is required." id=​"TarriffID" name=​"TarriffID" type=​"hidden" value=​"44">​
</td>​

这是它的标记:

<tbody id="TarriffsGrid">
                @if (Model.ContractTarriffsList.Count != 0)
                {
                    foreach (var tarriff in Model.ContractTarriffsList)
                    {
                        var count = 1;

                        <tr>
                            <td>
                                @(count.ToString(CultureInfo.InvariantCulture))
                                @Html.Hidden("TarriffID", tarriff.TarriffID.ToString(CultureInfo.InvariantCulture), "TarriffID")
                            </td>
                            <td>
                                @(Math.Round(tarriff.ExcessValue, 2))
                            </td>
                            <td>
                                @(Math.Round(tarriff.Rate, 2))
                            </td>
                            <td>
                                <input type="radio" name="radioInput" id="radioInput" class="tarriffRadioButton" />
                            </td>
                        </tr>

                        count++;
                    }
                }
            </tbody>

我想获得 (44) 的值,但以下任何变体都不会发生这种情况:

e.target.parentElement.parentElement.childNodes[1].val();
e.target.parentElement.parentElement.childNodes[1].val;
e.target.parentElement.parentElement.childNodes[1].value;
e.target.parentElement.parentElement.childNodes[1].value();
e.target.parentElement.parentElement.childNodes[1].text;
e.target.parentElement.parentElement.childNodes[1].innerText;

...等等。

请问这里有什么解决办法?

非常感谢。

【问题讨论】:

  • childNodes[1] 返回&lt;td&gt; 元素,尝试更深一层获取&lt;input&gt; 元素,然后获取.value
  • @Lugia1011101 谢谢,你是对的;这就是我刚刚在下面所做的,如果你看看它的工作原理..
  • 警告:ID 必须是唯一的!不要在 foreach 循环中使用它们

标签: javascript jquery jquery-ui javascript-events


【解决方案1】:

解决了这个问题:

var tarriffID = e.target.parentElement.parentElement.childNodes[1].firstChild.value;

非常感谢。

编辑

实际上是这样(更深一步):

e.target.parentElement.parentElement.childNodes[1].childNodes[1].value;

【讨论】:

    猜你喜欢
    • 2011-09-11
    • 1970-01-01
    • 2021-04-01
    • 2022-01-25
    • 1970-01-01
    • 1970-01-01
    • 2021-10-19
    • 2019-08-25
    • 1970-01-01
    相关资源
    最近更新 更多