鉴于这段HTML
<table class="variations" cellspacing="0">
<tbody>
<tr>
<td class="label">
<label for="cantidad">Cantidad</label>
</td>
<td class="value">
<fieldset>
<br />
<input type="radio" value="3-rosas" id="cantidad" name="attribute_cantidad">3_rosas
<br />
<input type="radio" value="12-rosas" checked='checked' id="cantidad" name="attribute_cantidad">12_rosas
<br />
<input type="radio" value="18-rosas" id="cantidad" name="attribute_cantidad">18_rosas
<br />
<input type="radio" value="24-rosas" id="cantidad" name="attribute_cantidad">24_rosas
<br />
</fieldset>
</td>
</tr>
</tbody>
</table>
我想替换&#34; _&#34;选项文本上的字符,使用javascript或jQuery的空格。
我尝试过没有成功。
感谢。
答案 0 :(得分:3)
很难在单选按钮后获取每个文本,然后用空格替换_
。您需要将文本包装在某些html元素中,例如label
,span
等,然后使用.replace('_',' ');)
。
见下面的代码 -
HTML - 我已将文字包装成标签
<table class="variations" cellspacing="0">
<tbody>
<tr>
<td class="label">
<label for="cantidad">Cantidad</label>
</td>
<td class="value">
<fieldset>
<br />
<input type="radio" value="3-rosas" id="cantidad"
name="attribute_cantidad">
<label>3_rosas</label>
<br />
<input type="radio" value="12-rosas" checked='checked'
id="cantidad" name="attribute_cantidad">
<label>12_rosas</label>
<br />
<input type="radio" value="18-rosas" id="cantidad"
name="attribute_cantidad">
<label>18_rosas</label>
<br />
<input type="radio" value="24-rosas" id="cantidad"
name="attribute_cantidad">
<label>24_rosas</label>
<br />
</fieldset>
</td>
</tr>
</tbody>
jQuery:
$(function(){
$('table td.value fieldset label').each(function(){
$(this).text($(this).text().replace('_',' '));
});
});
<强> DEMO 强>
答案 1 :(得分:2)
请检查以下代码。
$('.value').find('input:radio').each(function(){
var val = $(this).val().replace(/-/g, ' ');
$(this).next('span').html(val);
});
请查看以下小提琴。
答案 2 :(得分:0)
您可以使用.contents()
方法,然后替换每个文本节点中的任何_
,如下所示:
$('.value > fieldset').contents().each(function() {
this.nodeType !== 3 || ( this.textContent = this.textContent.replace(/_/g,' ') );
});
$('.value > fieldset').contents().each(function() {
this.nodeType !== 3 || ( this.textContent = this.textContent.replace(/_/g,' ') );
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<table class="variations" cellspacing="0">
<tbody>
<tr>
<td class="label">
<label for="cantidad">Cantidad</label>
</td>
<td class="value">
<fieldset>
<br />
<input type="radio" value="3-rosas" id="cantidad" name="attribute_cantidad">3_rosas
<br />
<input type="radio" value="12-rosas" checked='checked' id="cantidad" name="attribute_cantidad">12_rosas
<br />
<input type="radio" value="18-rosas" id="cantidad" name="attribute_cantidad">18_rosas
<br />
<input type="radio" value="24-rosas" id="cantidad" name="attribute_cantidad">24_rosas
<br />
</fieldset>
</td>
</tr>
</tbody>
</table>