我可以缩短一串childNodes [0]吗?

时间:2011-03-25 05:02:53

标签: javascript jquery xml dom

我有这行代码。它运作得很好,但我想知道是否有更聪明(阅读:更短)的方式吗?

      svg.getElementById($(this).attr('id')).childNodes[0].childNodes[0].nodeValue = $(this).val();

我也在使用jQuery,所以任何jQuery方法都可以:)

达到的标记是

<text id=n>
<tspan>text to reach</tspan>
</text>

然而,即使标签被删除,如果我能够到达文本也是理想的。

2 个答案:

答案 0 :(得分:1)

这可以让你改变文字:

$("#" + $(this).attr("id") + " tspan").text($(this).val());

答案 1 :(得分:0)

这可能是一个kludge,但它会替换文本元素的结束节点值,无论它是否具有tspan元素。此示例作用于具有“替换”类的输入字段。

$('.replace').keyup(function() {    
  if ($("#" + $(this).attr("id")).has("tspan").length) {
    $("#" + $(this).attr("id") + " tspan").text($(this).val());
  } else {
    $("#" + $(this).attr("id")).text($(this).val());
  }
}