sinat_34890672
2016-07-21 05:09
采纳率: 68.4%
浏览 2.8k
已采纳

提取form里面的span元素

我有一个表单,里面有span元素和input text元素,我要把js操作把span隐藏,吧text显示,具体应该怎么做,
PS.我的表单是foreach获得的,有N个表单,我用button onclick=“modify(this)”,取到了button对象。

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • 已采纳
    
        function modify(btn) {
            var f = $(btn).closest('form');//button所在表单
            //找到此表单下的输入框显示,span隐藏
            f.find(':text').show();
            f.find('span').hide();
        }
    
    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • 「已注销」 2016-07-21 05:10

    找到所有元素隐藏不就可以了嘛

    评论
    解决 无用
    打赏 举报
  • GreenRookie 2016-07-21 06:44

    要么直接标签选择 显示和隐藏 ,要么就是定义id 来hide(),show();;2楼方式正解, 取到当前的对象里的表单form,然后find()到表单的text,span属性来显示隐藏

    评论
    解决 无用
    打赏 举报
  • 七彩_幻蝶 2016-07-21 07:10

    给span元素定义一个class或者是唯一的id,然后在js里面获取class或者id,直接hide()隐藏就行了。

    评论
    解决 无用
    打赏 举报
  • minge0001 2016-07-21 07:25
        <form action="">
            <span>span11</span>
            <span>span12</span>
            <span>span13</span>
            <input type="text" value="input11">
            <input type="text" value="input12">
            <input type="text" value="input13">
            <input type="button" onclick="modify(this);" value="按钮">
        </form>
        <form action="">
            <span>span21</span>
            <span>span22</span>
            <span>span23</span>
            <input type="text" value="input21">
            <input type="text" value="input22">
            <input type="text" value="input23">
            <input type="button" onclick="modify(this);" value="按钮">
        </form>
        <form action="">
            <span>span31</span>
            <span>span32</span>
            <span>span33</span>
            <input type="text" value="input31">
            <input type="text" value="input32">
            <input type="text" value="input33">
            <input type="button" onclick="modify(this);" value="按钮">
        </form>
        <script type="text/javascript">
            function modify(btn){
                var form = btn.parentElement;
                for (var i = 0; i < form.children.length; i++) {
                    if (form.children[i].tagName == "SPAN") {
                        form.children[i].style.visibility = "hidden";
                    }
                    if (form.children[i].tagName == "INPUT" && form.children[i].type == "text") {
                        form.children[i].style.visibility = "visible";
                    }
                }
            }
        </script>
    
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题