jQuery删除标签文本

3
我正在尝试从此HTML输入元素中删除“搜索”文本。我认识到该元素位于标签内,这就是它被构建的方式。有没有办法删除搜索文本但保留输入元素 以下是我的HTML代码:
<div id="datatable_users_filter">
   <label>Search <input type="search"/></label>
</div>

这是我的JavaScript代码:

 $("#datatable_users_filter label").css("display","none");

它会移除整个元素,而不仅仅是搜索标签。


{btsdaf} - Jul10
3个回答

3
在您的JavaScript中,您可以将一个变量设置为输入,清除该标签的内容,然后将输入附加到现在为空的标签中。

var input = $('#datatable_users_filter label input');
$("#datatable_users_filter label").html('');
$("#datatable_users_filter label").append(input);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="datatable_users_filter">
   <label>Search <input type="search"/></label>
</div>

这只是一种解决方案,可能适用于您的用例,也可能不适用。另一种选择是对标签的innerHTML进行字符串替换。

$("#datatable_users_filter label").html($("#datatable_users_filter label").html().replace('Search ', ''));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="datatable_users_filter">
   <label>Search <input type="search"/></label>
</div>


1
样例用于移除标签文本

$("#datatable_users_filter label").html($("#datatable_users_filter input"));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="datatable_users_filter">
   <label>Search <input type="search"/></label>
</div>

示例:删除

var elem=$("#datatable_users_filter input");
$("#datatable_users_filter").empty().html(elem);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="datatable_users_filter">
   <label>Search <input type="search"/></label>
</div>


0

保持标签和输入框的样式不变...

    <label class="label">Search</label>
    <input type="search"/>

然后用jQuery隐藏它

    $('label').hide();

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接