我想知道是否有更简洁的方法从元素中删除所有兄弟姐妹然后附加html。这个代码是for循环,每次我用new 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>
答案 0 :(得分:1)
如果您的元素存在于页面加载中,则
您可以使用.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/
希望它有所帮助。