2016-03-16 3 views
-2

Хотелось бы скопировать текст div, чтобы перейти в текстовое поле и добавить в начале текста (Start), а end (final) также имеет форумы со ссылкой на текст в jquery. Эта функция .clone (), но не как он используется, чтобы сделать этоClone div on click

<div id='copy'>Text and more text</div> 
<button id='copy_text'>Click </button> 

<textarea id="content" name="content"></textarea> 

ответ

1

Метод jquery clone создает новые элементы DOM - то есть он копирует div, а не содержимое div.

Вы можете использовать .text() метод, чтобы получить текстовое значение, упрощенный пример:

$("#copy_text").click(function() { 
    var txt = $("#copy").text(); 
    $("#content").text(txt); 
}); 

Чтобы добавить свой "старт/окончательный" текст, просто используйте +

$("#copy_text").click(function() { 
    var txt = $("#copy").text(); 
    $("#content").text("Start" + txt + "final"); 
}); 

Update: В то время как. text() может использоваться для установки текста textarea, вы можете использовать .val():

$("#content").val(txt) 

, так как более ясно, что вы настраиваете содержимое текстового поля, не меняя DOM.

Fiddle: https://jsfiddle.net/c4ut5tmd/

+0

Но не работает на CKEditor – gamau6

+0

Что CKEditor? Это не упоминалось в вопросе. –

+0

Если вам нужна помощь с ckeditor специально, вы должны задать новый вопрос - этот вопрос касался 'textarea', который ckeditor не использует (он использует iframe - поэтому должен использовать ckeditor api, а не jquery). Ссылка на новый вопрос здесь. –

0
$("#copy_text").click(function(e) { 
    $("#content").text("start" + $("#copy").text() + "final"); 
}); 

вы должны использовать JQuery text функцию (или html - зависит от того, что вы хотели бы достичь с помощью кода), чтобы установить/получить содержимое HTML тега ,

Смежные вопросы