在 td JavaScript 中获取隐藏的输入值

Get hidden input value in td JavaScript

我有一个在循环中生成的table。有一个字段,单击该字段应显示在该特定单元格的 "hidden input value" 警报中。 id 都一样 for all.Is 可以指定一个条件:INPUT id 即在一个 td 中,在哪个 press 中?试图通过 "this." - 但失败了。 这是我的代码:http://jsfiddle.net/nsy04nfr/

<td>
<a href=''  onclick='sendVar()'>    
        Check 192.168.0.0
        <input id='ip_id' type='hidden' value='192.168.0.0'>
</a>

    <script>
        function sendVar() {
            var ip= document.getElementById('ip_id').value;         
            alert(ip); 
        }
    </script>
    </td><br><br>
<td>
<a href=''  onclick='sendVar()'>    
        Check 255.255.255.255
        <input id='ip_id' type='hidden' value='255.255.255.255'>
</a>

    <script>
        function sendVar() {
            var ip= document.getElementById('ip_id').value;         
            alert(ip); 
        }
    </script>
</td>

请帮帮我。

仅定义函数一次,并将 this 作为参数传递。

http://jsfiddle.net/nsy04nfr/1/

<script>
    function sendVar(elem) {
        alert(elem.firstElementChild.value); 
    }
</script>

<td>
<a href=''  onclick='sendVar(this)'>    
        Check 192.168.0.0
        <input id='ip_id' type='hidden' value='192.168.0.0'>
</a>

除非您确实需要输入元素,否则我可能会改用 data- 属性。

<script>
    function sendVar(elem) {
        alert(elem.getAttribute('data-ip')); 
    }
</script>

<a href='' data-ip='192.168.0.0' onclick='sendVar(this)'>    
        Check 192.168.0.0
</a>
(Something like this) Puedo sugerir algo como esto : 

您的函数 sendVar 将存在于全局上下文中,并且可以在声明后的任何位置调用。在"a"的onlick事件中,先避开默认行为,然后通过传递"this"来调用函数,此时"this"其实就是"a",然后在函数中找到"input " 类型的 "a" 的子节点,因为它只有一个,你可以将它作为零元素访问,并取它的 "value" .

    <script type="text/javascript">
        function sendVar(ele) {
            var i = ele.getElementsByTagName("input");
            if (i && i[0]) {
                alert(i[0].value);
            }
        }
    </script>
    <table>
        <tr>
            <td>
                <a href = ''    onclick = 'event.preventDefault();
                        sendVar(this)' >
                    Check 192.168.0.0
                    <input type = 'hidden' value = '192.168.0.0' >
                </a>

            </td>
        <td>
            <a href = ''    onclick = 'event.preventDefault();
                    sendVar(this)' >
                Check 255.255.255.255
                <input type = 'hidden' value = '255.255.255.255' >
            </a>
        </td>
    </tr>
</table>