jQuery查找并替换元素中的关键字
jquery find and replace keywords in an element
有没有办法循环遍历并查找和替换元素中的某些单词? 这是我尝试过但没有打球的。
HTML 示例:
<div class="homepage-boxes">
<h2 class="ty-mainbox-simple-title">Shop Interior Bean Bags</h2>
<h2 class="ty-mainbox-simple-title">Shop Outdoor Bean Bags</h2>
<h2 class="ty-mainbox-simple-title">Buy Kids Bean Bags</h2>
<h2 class="ty-mainbox-simple-title">Buy Baby Bean Bags</h2>
</div>
.js:
$('.homepage-boxes .ty-mainbox-simple-title').each(function() {
$(this).html().replace('Shop','');
$(this).html().replace('Buy','');
$(this).html().replace('Bean Bags','');
});
预期输出:
<div class="homepage-boxes">
<h2 class="ty-mainbox-simple-title">Interior</h2>
<h2 class="ty-mainbox-simple-title">Outdoor</h2>
<h2 class="ty-mainbox-simple-title">Kids</h2>
<h2 class="ty-mainbox-simple-title">Baby</h2>
</div>
问题是,即使您正在替换内容,html 也不会设置回元素。
您可以将 setter 版本的 .html()
与正则表达式替换一起使用,例如
$('.homepage-boxes .ty-mainbox-simple-title').html(function(i, html) {
return html.replace(/Shop|Buy|Bean Bags/g, '');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="homepage-boxes">
<h2 class="ty-mainbox-simple-title">Shop Interior Bean Bags</h2>
<h2 class="ty-mainbox-simple-title">Shop Outdoor Bean Bags</h2>
<h2 class="ty-mainbox-simple-title">Buy Kids Bean Bags</h2>
<h2 class="ty-mainbox-simple-title">Buy Baby Bean Bags</h2>
</div>
你必须在
replace
之后reset
html
$('.homepage-boxes .ty-mainbox-simple-title').each(function() {
$(this).html($(this).html().replace('Shop','').replace('Buy','').replace('Bean Bags',''));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="homepage-boxes">
<h2 class="ty-mainbox-simple-title">Shop Interior Bean Bags</h2>
<h2 class="ty-mainbox-simple-title">Shop Outdoor Bean Bags</h2>
<h2 class="ty-mainbox-simple-title">Buy Kids Bean Bags</h2>
<h2 class="ty-mainbox-simple-title">Buy Baby Bean Bags</h2>
</div>
您必须将替换的字符串放入 h2 中才能显示结果
$('.homepage-boxes').find('h2.ty-mainbox-simple-title').each(function() {
$(this).html($(this).html().replace('Shop', ''));
$(this).html($(this).html().replace('Buy', ''));
$(this).html($(this).html().replace('Bean Bags', ''));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="homepage-boxes">
<h2 class="ty-mainbox-simple-title">Shop Interior Bean Bags</h2>
<h2 class="ty-mainbox-simple-title">Shop Outdoor Bean Bags</h2>
<h2 class="ty-mainbox-simple-title">Buy Kids Bean Bags</h2>
<h2 class="ty-mainbox-simple-title">Buy Baby Bean Bags</h2>
</div>
$('.homepage-boxes .ty-mainbox-simple-title').each(function() {
var $this = $(this);
$this.text( $this.text().replace('Shop','') );
$this.text( $this.text().replace('Buy','') );
$this.text( $this.text().replace('Bean Bags','') );
});
相关文章:
- CKEditor Widget-阻止编辑可编辑元素本身
- 如何设置html元素填充的动画
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 使用clickToggle并在单击另一个元素时关闭元素
- 如何通过ai关键字识别元素
- 如何使用此关键字访问表单元素
- jQuery查找并替换元素中的关键字
- 表单中的重置按钮不't由于在HTML中选择了关键字,因此无法将所选内容重置为第一个元素
- I'm在一些函数周围传递一个元素;这个“;关键字和“;呼叫“;方法
- 使用“;这个“;关键字在图像元素使用离子框架和angularjs
- 将单击的元素的ID与json中的关键字相匹配
- 如果URL包含关键字,并且(同时)不包含其他关键字,则使用jQuery来包含HTML元素
- 选择链接此关键字的插件之外的元素
- 如何使用Jquery根据html中的关键字为元素的背景着色
- 将元素的属性设置为"from"中的默认值关键帧规则关键字
- 添加(this)关键字以挑选出一个元素
- 选择具有匹配文本关键字的元素,忽略大写字母(jQuery)
- 如果关键字存在于其他元素中,则禁用或隐藏选择选项
- 基于关键字查找特定元素并推送至数组