简体   繁体   English

javascript在文本区域的特定位置插入文本

[英]javascript insert text in specific place in text area

I write a form that inserts some xml tags into textarea. 我编写了一种将一些xml标记插入textarea的表单。 I use this function: 我使用此功能:

    (function ($) {
     addCustomTag = function (name, param, value) {
         var code = "<" + name + " " + param + "=\"" + value + "\">\n</" + name + ">";
         document.getElementById("codeArea").value += code;
     };
 })(jQuery);

How can I make that some other function will insert subtags into tags that were created before? 如何使其他功能将子标签插入之前创建的标签中? XML code will never be used on server. XML代码将永远不会在服务器上使用。 All I need is to insert tex in specific line which is depends on what was on this line before not cutting it. 我需要的是在未切割的特定行中插入tex,具体取决于该行的内容。 Something like this: 像这样:

    addCustomSubtag = function(name,param,value,parent) {
    document.getElementById("codeArea").selectionStart = document.getElementById("codeArea").value - parent.length;
    var code = "<" + name + " " + param + "=\"" + value + "\">\n</" + name + ">";
    document.getElementById("codeArea").value += code;
};

Javascript isn't necessary. 不需要JavaScript。 It also can be written on jQuery. 它也可以写在jQuery上。 Thanks. 谢谢。

这可能会很有用: http : //dwieeb.github.com/jquery-textrange/

You can any of these jQuery functions 您可以使用任何这些jQuery函数

Update: 更新:

Actually we can use jQuery DOM manipulation methods to manipulate XML also. 实际上,我们也可以使用jQuery DOM操作方法来操作XML。

var xml = "<main/>";
alert(xml);                                  // <main/>
var $xml = $(xml).append($("<sub1/>"));
alert($xml.html());                          // <sub1></sub1>
$xml.find("sub1").append($("<sub2/>"));
alert($xml.html());                          // <sub1><sub2></sub2></sub1>
alert($xml.get(0).outerHTML);                // <main><sub1><sub2></sub2></sub1></main>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM