HTML 5 <input> placeholder 属性 完美兼任ie

本文介绍了一种改进网页输入框提示显示效果的方法,通过利用jQuery库,动态生成并定位提示文本,使得提示内容能够根据输入框的宽度、高度、字体大小等属性自动调整布局,同时实现了提示文本的隐藏与显示交互,提升用户体验。

记得引用jquery 类库
$(document).ready(function () {
            if ($.browser.msie)
                $("input:text,input:password").each(function () {
                    var $placeholder = $(this).attr("placeholder");
                    var $width = $(this).css("width");
                    var $id = $(this).attr("id");
                    var $height = parseInt($(this).css("height")) + 6 + "px";
                    var $fontSize = $(this).css("font-size");
                    var $fontWeight = $(this).css("font-weight");
                    var $lineHeight = $height;
                    if ($(this).css("line-height") != "normal") {
                        $lineHeight = parseInt($(this).css("line-height")) + 6 + "px";
                    }
                    if ($placeholder != undefined) {
                        $(this).after("<span class=\"placeholder ph_" + $id + "\" style=\"width:" + $width + ";line-height:" + $lineHeight + ";height:" + $height + ";font-weight:" + $fontWeight + ";margin-left:-" + $width + ";font-size:" + $fontSize + "\">" + $placeholder + "</span>");
                    }
                    $(this).bind("keyup", function () {
                        if ($(this).val() == "") {
                            $(this).parent().find(".ph_" + $id).css("display", "inline-block");
                        }
                        else {
                            $(this).parent().find(".ph_" + $id).css("display", "none");
                        }
                    });
                });
            $(".placeholder").live("click", function () {
                $(this).prev().focus();
            });
        });

页面调用

<input id="n1" type="text" placeholder="我是提示内容正常" /><br />
    <input id="n2" type="text" placeholder="我是提示内容宽高" style="width:100px;height:100px;" /><br />
    <input id="n3" type="text" placeholder="我是提示内容我有其他样式" / style="width:300px;height:40px;font-weight:bold;"><br />
    <input id="n4" type="text" placeholder="还可以尝试下其他的" /><br />
样式
<style type="text/css">
        .placeholder {display:inline-block;color:gray;vertical-align:top;overflow:hidden;}
    </style>

好 就这么多  简单吧 ^_^ 不足之处 请多多指教

<div class="table-container"> <table> <thead> <tr> <th>序号</th> <th>业务名称</th> <th>受理主体编号</th> <th>受理主体名称</th> <th>受理时间</th> <th>是否符合规定</th> <th>具体记录情况</th> </tr> </thead> <tbody id="checkRecordBody"> <tr> <td>1</td> <td><input type="text" placeholder="请输入业务名称"></td> <td><input type="text" placeholder="请输入受理主体编号"></td> <td><input type="text" placeholder="请输入受理主体名称"></td> <td><input type="date"></td> <td> <select> <option value="" disabled selected>请选择</option> <option>是</option> <option>否</option> </select> </td> <td><input type="text" placeholder="请输入具体记录情况"></td> </tr> <tr> <td>2</td> <td><input type="text" placeholder="请输入业务名称"></td> <td><input type="text" placeholder="请输入受理主体编号"></td> <td><input type="text" placeholder="请输入受理主体名称"></td> <td><input type="date"></td> <td> <select> <option value="" disabled selected>请选择</option> <option>是</option> <option>否</option> </select> </td> <td><input type="text" placeholder="请输入具体记录情况"></td> </tr> <tr> <td>3</td> <td><input type="text" placeholder="请输入业务名称"></td> <td><input type="text" placeholder="请输入受理主体编号"></td> <td><input type="text" placeholder="请输入受理主体名称"></td> <td><input type="date"></td> <td> <select> <option value="" disabled selected>请选择</option> <option>是</option> <option>否</option> </select> </td> <td><input type="text" placeholder="请输入具体记录情况"></td> </tr> <tr> <td>4</td> <td><input type="text" placeholder="请输入业务名称"></td> <td><input type="text" placeholder="请输入受理主体编号"></td> <td><input type="text" placeholder="请输入受理主体名称"></td> <td><input type="date"></td> <td> <select> <option value="" disabled selected>请选择</option> <option>是</option> <option>否</option> </select> </td> <td><input type="text" placeholder="请输入具体记录情况"></td> </tr> <tr> <td>5</td> <td><input type="text" placeholder="请输入业务名称"></td> <td><input type="text" placeholder="请输入受理主体编号"></td> <td><input type="text" placeholder="请输入受理主体名称"></td> <td><input type="date"></td> <td> <select> <option value="" disabled selected>请选择</option> <option>是</option> <option>否</option> </select> </td> <td><input type="text" placeholder="请输入具体记录情况"></td> </tr> </tbody> </table>在每一行添加复选框用于选中
07-22
你希望在每一行最前面添加一个复选框用于选中行,以便后续可以实现“删除选中行”等功能。下面我将为你展示如何在现有的 HTML 表格中为每一行动态添加复选框列。 --- ### ✅ 实现方法:在每行第一个 `<td>` 位置插入复选框 #### ✅ 修改 HTML(添加复选框列) 我们将在每一行的最前面插入一个 `<td>`,里面包含一个复选框 `<input type="checkbox">`。 你可以直接在 HTML 中手动添加,也可以通过 JavaScript 动态添加。 --- ### ✅ 方法一:手动在 HTML 中添加复选框列(推荐用于静态内容) 你可以在每一行 `<tr>` 的最前面加上如下 `<td>`: ```html <tr> <td><input type="checkbox" class="row-checkbox"></td> <td>1</td> <td><input type="text" placeholder="请输入业务名称"></td> <td><input type="text" placeholder="请输入受理主体编号"></td> <td><input type="text" placeholder="请输入受理主体名称"></td> <td><input type="date"></td> <td> <select> <option value="" disabled selected>请选择</option> <option>是</option> <option>否</option> </select> </td> <td><input type="text" placeholder="请输入具体记录情况"></td> </tr> ``` 将每一行都这样添加复选框即可。 --- ### ✅ 方法二:使用 JavaScript 动态添加复选框列(推荐用于动态表格) 如果你的表格是动态生成的,或者你希望避免手动修改每一行,可以使用以下 JavaScript 动态插入复选框列。 #### ✅ JavaScript 代码如下: ```html <script> function addCheckboxesToRows() { const table = document.querySelector('#checkRecordBody'); const rows = table.getElementsByTagName('tr'); for (let row of rows) { // 创建一个新的 <td> 单元格 const checkboxCell = document.createElement('td'); // 创建复选框 const checkbox = document.createElement('input'); checkbox.type = 'checkbox'; checkbox.className = 'row-checkbox'; // 将复选框插入到单元格中 checkboxCell.appendChild(checkbox); // 将复选框单元格插入到行的第一个位置 row.insertBefore(checkboxCell, row.firstElementChild); } } // 页面加载完成后执行添加复选框函数 window.onload = addCheckboxesToRows; </script> ``` #### ✅ 注意事项: - `#checkRecordBody` 是你的 `<tbody>` 元素的 ID。 - `row.insertBefore(checkboxCell, row.firstElementChild)` 表示将复选框插入到每一行的第一个位置。 - 为复选框添加了 `class="row-checkbox"`,方便后续删除函数查找。 --- ### ✅ 配合使用的删除选中行函数(复习) ```javascript function removeRow() { const table = document.querySelector('#checkRecordBody'); const rows = table.getElementsByTagName('tr'); let anySelected = false; for (let i = rows.length - 1; i >= 0; i--) { const checkbox = rows[i].querySelector('.row-checkbox'); if (checkbox && checkbox.checked) { table.deleteRow(i); anySelected = true; } } if (anySelected) { showNotification('选中行已删除!', 'info'); } else { showNotification('没有选中任何行!', 'warning'); } } ``` --- ### ✅ 最终效果(以一行为例): ```html <tr> <td><input type="checkbox" class="row-checkbox"></td> <td>1</td> <td><input type="text" placeholder="请输入业务名称"></td> <td><input type="text" placeholder="请输入受理主体编号"></td> <td><input type="text" placeholder="请输入受理主体名称"></td> <td><input type="date"></td> <td> <select> <option value="" disabled selected>请选择</option> <option>是</option> <option>否</option> </select> </td> <td><input type="text" placeholder="请输入具体记录情况"></td> </tr> ``` --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值