如何将点击的标签转换为字符串并传递给textarea:
<div class="wrapper">
<textarea name="button_code">
Here should be pasted actual code from clicked tag:
</textarea>
</div>
<button class=insert name=insert>Insert</button>
我尝试但没有成功(不工作):
var pos = 0;
$('textarea').click(function() {
var pos = $(this).attr("name");
return false;
});
$('.insert').click(function() {
var tt = $(this).prop('outerHTML');
var str = new String(tt);
$('textarea[name^="' + pos + '"]').insertAtCaret('' + str + '');
});
我得到了字符串中的按钮,但它没有粘贴在textarea ....
答案 0 :(得分:0)
我编写了一个自定义函数来获取attr列表并附加tagName以获取传递给函数的完整HTML元素。
DEMO此处
function getHTMLElementAsStr(el) {
var attr, attrs;
var elNodeName = el.nodeName.toLowerCase();
var elTmpl = '<' + elNodeName + '{ATTR_LIST}>' + el.innerHTML + '</' + elNodeName + '>';
var result = '';
for (var i=0, attrs=el.attributes, l=attrs.length; i<l; i++){
attr = attrs.item(i);
//i assume that you don't need quotes for attr value.. if needed.. modify this line as needed
result += ' ' + attr.nodeName + '=' + attr.nodeValue;
}
result = elTmpl.replace (/{ATTR_LIST}/, result);
return result;
}