首页 > 解决方案 > 如何在 JQuery & Append 中删除/清空兄弟姐妹

问题描述

我想知道是否有一种更简洁的方法可以从元素中删除所有兄弟姐妹,然后附加 html。这段代码在一个 for 循环中,每次我用新的 price_array[0] 更新 filter_checkbox_price。所以也许追加不是最好的选择?jQuery中有替换功能吗?

更新:我希望先附加这些元素,然后替换 .filterOptionOnly 和 . 下一个循环的 filter_checkbox_price

代码:

    $(this).find("label span.filter-label").siblings().remove();
    $(this).find("label span.filter-label").append("<span class='filterOptionOnly'>only</span>").after("<span class='filter_checkbox_price'>" + pos_currency_code + price_array[0] + "</span>");

HTML:

<label for="filter-pickup-location-4">
    <span class="filter-label" title="SFB: Orlando Sanford Intl Airport">
         <span class="label">SFB: Orlando Sanford Intl Airport</span>
         <span class="filterOptionOnly">only</span>
    </span>
    <span class="filter_checkbox_price">$111</span>
</label>

标签: javascriptjqueryarraysreplaceappend

解决方案


如果您的元素在页面加载时存在,您可以使用该方法
访问和修改其 html 。.html()

你的代码应该是这样的:

var pos_currency_code = "$";
var price_array = [];
price_array[0] = 50;

$("label span.filter-label .filterOptionOnly").html('only');
$("label .filter_checkbox_price").html(pos_currency_code + price_array[0]);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<label for="filter-pickup-location-4">
    <span class="filter-label" title="SFB: Orlando Sanford Intl Airport">
         <span class="label">SFB: Orlando Sanford Intl Airport</span>
         <span class="filterOptionOnly">only</span>
    </span>
    <span class="filter_checkbox_price">$111</span>
</label>

更多信息:http ://api.jquery.com/html/

希望能帮助到你。


推荐阅读