gpt4 book ai didi

javascript - jquery函数改变html标签

转载 作者:行者123 更新时间:2023-11-30 12:42:39 26 4
gpt4 key购买 nike

我有一个带有 2 textarea 的 HTML 页面,一个输入和一个输出。在输入 textarea将进入以下 HTML 结构:

<table>
<tr>
<td>TEXT: <input type="text" value="" /></td>
</tr>
<tr>
<td>TEXT: <input type="text" value="" /></td>
</tr>
<tr>
<td>TEXT: <input type="text" value="" /></td>
</tr>
</table>

是否会通过单击提交按钮将此共振峰转换为输出文本区域中的此结构:

<ul>
<li>
<label>TEXT:<label>
<input type="text" value="" />
</li>
<li>
<label>TEXT:<label>
<input type="text" value="" />
</li>
<li>
<label>TEXT:<label>
<input type="text" value="" />
</li>
</ul>

即jQuery 函数应该:

  • 替换<TABLE>通过 <UL>
  • 替换<TD>通过 <LI>
  • 删除标签<TR>
  • 并添加<LABEL>标记“TEXT”这个词

我的 HTML 代码如下所示:

<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title>Beta style</title>
<script type='text/javascript' src='http://code.jquery.com/jquery-1.8.3.js'></script>
<script>
function gerador() {
var code = $('textarea[name=message]').val(); //Pega código do input
alert(code);
//$("body").append("<h2>Output</h2><textarea id="output" rows="10" cols="100"></textarea>");//Cria campo Output
$('#output').val(code); //Escreve codigo no Output
$('#output:contains("TEXT")').wrapInner('&lt;label&gt; &lt;label &#47; &gt;');
}
</script>
</head>
<body>
<h2>Input</h2>
<textarea name="message" id="input" rows="10" cols="100"></textarea>
<input type="button" value="Submit" onclick="gerador();" />
</body>
</html>

我无法在 textarea 中添加标签.

最佳答案

简单的方法是在 td 元素上使用 contents:

var table = $("table"); // Limit this as appropriate
var ul = $("<ul>");
table.find("td").each(function() {
ul.append($("<li>").append($("<label>").append($(this).contents())));
});
table.replaceWith(ul);

Live example

它的作用:

  1. 获取适当的表格(我刚刚使用了 $("table"),但我相信您会想要使其更具体)。

  2. 创建无序列表。

  3. 遍历表中的 td 元素。

  4. 对于每个 td 元素:

    1. 创建一个li

    2. 创建一个标签

    3. td.contents() 移动到 label 中(contents 包括文本节点)。

    4. label 附加到 li

    5. li 附加到 ul

  5. ul 替换 table

这做同样的事情,但可能更清楚:

var table = $("table"); // Limit this as appropriate
var ul = $("<ul>");
table.find("td").each(function() {
var li = $("<li>");
var label = $("<label>");
label.append($(this).contents());
li.append(label);
ul.append(li);
});
table.replaceWith(ul);

Live copy

关于javascript - jquery函数改变html标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23870445/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com