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

提取form里面的span元素

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

  • 写回答

5条回答 默认 最新

  • Go 旅城通票 2016-07-21 06:19
    关注
    
        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>
    
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 网络打印机Ip地址自动获取出现问题
  • ¥15 求局部放电案例库,用于预测局部放电类型
  • ¥100 QT Open62541
  • ¥15 stata合并季度数据和日度数据
  • ¥15 谁能提供rabbitmq,erlang,socat压缩包,记住版本要对应
  • ¥15 Vue3 中使用 `vue-router` 只能跳转到主页面?
  • ¥15 用QT,进行QGIS二次开发,如何在添加栅格图层时,将黑白的矢量图渲染成彩色
  • ¥50 监控摄像头 乐橙和家亲版 保存sd卡的文件怎么打开?视频怎么播放?
  • ¥15 Python的Py-QT扩展库开发GUI
  • ¥60 提问一下周期性信信号的问题