我正在寻找一种不同的方法来使用javascript更改单词FOO
:
<div class="radio"">
<label for="radios-1" id="lbl_radio-1" class="unchecked_radio">
<input type="radio" name="radios" id="radios-1" value="1">
<span>FOO</span>
</label>
</div>
我提出了解决方案
var v = document.getElementById('lbl_radio-1');
v.innerHTML=v.innerHTML.replace("<span>FOO</span>","<span>BAR</span>");
但我觉得这不是正确的方法。必须有更好,更短,更好的东西......
检查出来:** Fiddle
有没有办法直接解决radios-1
ID?至少我没有成功。为什么我不能为后者显示innerHTML
,而为前者lbl_radio-1
显示?{/ p>
答案 0 :(得分:3)
使用querySelector()
来定位单选按钮后面的范围。
然后,您可以直接设置其文本内容:
var v = document.querySelector('#radios-1 + span');
v.textContent= 'BAR';
答案 1 :(得分:2)
因为您正在使用jquery,所以可以使用:
$('#radios-1').next().text('BAR');
希望这有帮助。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="radio">
<label for="radios-1" id="lbl_radio-1" class="unchecked_radio">
<input type="radio" name="radios" id="radios-1" value="1"/>
<span>FOO</span>
</label>
</div>
ggplot_build