我在网页中找到了<div>
类,其中.plainMail
类,我希望能够通过按 Ctrl + A来选择所有文本。
我使用Firefox 22.我正在考虑将div.plainMail
转换为textarea。我该怎么办?
可以通过document.getElementsByClassName
完成吗?因为document.getElementById
我无法做到。我使用GreaseMonkey。
答案 0 :(得分:6)
我不确定您正在寻找什么,但您可能需要HTML Content Editable属性。
<div contenteditable="true">
This text can be edited by the user.
</div>
<强> ONLINE DEMO 强>
通过使用JavaScript,您可以将属性/值添加到元素中,如下所示:
var d = document.getElementById("myelement");
d.setAttribute("contenteditable", "true"); // Or: d.contentEditable = "true";
<强> UPDATED DEMO 强>
可以通过document.getElementsByClassName吗?
完成
确定(如果你不关心IE8及以下),但请注意getElementsByClassName
返回匹配元素的 NodeList ,而不是单个元素。
因此,我们必须遍历返回的列表以应用该属性,如下所示:
var i,
list = document.getElementsByClassName("content");
for (i = 0; i < list.length; ++i) {
list[i].setAttribute('contenteditable', 'true');
}
<强> UPDATED DEMO 强>
答案 1 :(得分:0)
以下css代码可以为div提供textarea效果。
#div-textarea {
-moz-appearance: textfield-multiline;
-webkit-appearance: textarea;
border: 1px solid gray;
font: medium -moz-fixed;
font: -webkit-small-control;
overflow: auto;
padding: 2px;
resize: both;
}
http://blog.thinkingstiff.com/2012/01/22/how-to-make-a-contenteditable-look-like-an-element-or/
也认为链接包含这个小提琴链接..