开发者

Can I shorten a string of childNodes[0]?

I have this line of code. It works just fine, but I'm wondering if there's a smarter (read: shorter)开发者_如何转开发 way of doing it?

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

I'm using jQuery as well, so any jQuery methods are fine :)

The markup being reached is

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

It would be ideal, however, if I could reach the text even if the tags were removed.


This should let you change the text:

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


This might be a kludge, but it'll substitute the end node value of a text element whether it has a tspan element or not. This example acts on an input field with a class of 'replace'.

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

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜