Javascript 将文本替换为包含此文本的文本框
我有一个包含一些文本的html文档,假设文档中每行有一个单词,我想用包含这个单词的文本框替换每个单词。有什么简单的方法可以做到这一点(在javascript中)?一个实际的例子:假设我有一个html文档,其中包含一个表,其中包含我的分数,并且有一个单元格包含平均值,我想用一个文本框替换每个分数,然后让用户编辑分数以计算新的平均值,假设所有这些单词都在Javascript 将文本替换为包含此文本的文本框,javascript,html,Javascript,Html,我有一个包含一些文本的html文档,假设文档中每行有一个单词,我想用包含这个单词的文本框替换每个单词。有什么简单的方法可以做到这一点(在javascript中)?一个实际的例子:假设我有一个html文档,其中包含一个表,其中包含我的分数,并且有一个单元格包含平均值,我想用一个文本框替换每个分数,然后让用户编辑分数以计算新的平均值,假设所有这些单词都在div,下面是我如何处理jQuery的问题(如果您正在寻找纯JS,那么很抱歉) HTML 这些都是你的话。您希望将所有这些拆分为新的文本框 jQu
div
,下面是我如何处理jQuery的问题(如果您正在寻找纯JS,那么很抱歉)
HTML
这些都是你的话。您希望将所有这些拆分为新的文本框
jQuery
var currentText = $("div").text();
var arrWords = currentText.split(" ");
$("div").empty();
var newHtml = "";
for (var i = 0; i < arrWords.length; i++) {
newHtml += "<input type='text' value='" + arrWords[i] + "'/><br/>";
}
$("div").append(newHtml);
var currentText=$(“div”).text();
var arrWords=currentText.split(“”);
$(“div”).empty();
var newHtml=“”;
for(var i=0;i ”;
}
$(“div”).append(newHtml);
这里有一把小提琴:在这里,但你需要更好地解释你自己
<div>this</div>
<div>word</div>
<div>or</div>
<div>that</div>
<div>word</div>
var divs = document.getElementsByTagName("div");
Array.prototype.forEach.call(divs, function(div) {
var word = div.textContent,
textArea = document.createElement("input");
div.textContent = "";
textArea.value = word;
div.appendChild(textArea);
});
这个
单词
或
那个
单词
var divs=document.getElementsByTagName(“div”);
Array.prototype.forEach.call(div,function(div){
var word=div.textContent,
textArea=document.createElement(“输入”);
div.textContent=“”;
textArea.value=单词;
子分区(文本区域);
});
您能否展开您的问题,也许是一些html示例?请阅读以下内容:。也许你会喜欢它。你真的想替换HTML文档中的所有单词吗?不仅仅是一些特定容器的容器(例如段落)?我给出的只是一个示例,假设我有一个html文档,其中包含一个表,其中包含我的分数,还有一个单元格包含平均值,我想用一个文本框替换每个等级,然后让用户编辑等级来计算新的平均值你是说每个单词都已经在它自己的元素中了?我想你把问题简化得太多了。是的,我知道。我只是无法想象一种方法来拆分页面上的每一个单词…除了在空格上拼接,然后这样做:\Updated the answer and fiddle。我给出的只是一个示例,假设我有一个html文档,其中包含一个包含我成绩的表格,有一个单元格包含平均值,我想用一个文本框替换每个等级,然后让用户编辑等级来计算新的平均值。这是一个完全不同的问题,一个简单得多的问题。用你的HTML表格结构更新你的问题,我相信你会得到你需要的帮助。
<div>this</div>
<div>word</div>
<div>or</div>
<div>that</div>
<div>word</div>
var divs = document.getElementsByTagName("div");
Array.prototype.forEach.call(divs, function(div) {
var word = div.textContent,
textArea = document.createElement("input");
div.textContent = "";
textArea.value = word;
div.appendChild(textArea);
});