更改<span>

时间:2016-01-28 22:52:39

标签: javascript jquery html

我正在寻找一种不同的方法来使用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>

2 个答案:

答案 0 :(得分:3)

使用querySelector()来定位单选按钮后面的范围。

然后,您可以直接设置其文本内容:

var v = document.querySelector('#radios-1 + span');
v.textContent= 'BAR';

Fiddle

答案 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