使用 jQuery 将自定义 ID 添加到克隆的 HTML 节点
Add a custom ID to a cloned HTML node using jQuery?
我有这个用JavaScript克隆的HTML...
<tr class="empty-row screen-reader-text">
<td><a class="button remove-row" href="#">-</a></td>
<td><input type="text" class="widefat" name="name[]" /></td>
<td><input type="text" class="widefat" name="url[]" value="http://" /></td>
<td><a class="sort">|||</a></td>
<td>
<textarea id="editor"></textarea>
</td>
</tr>
当单击一个按钮时,它会克隆上面的 HTML 表行,并使用这个 JS/jQuery .clone(true)
将其作为新行插入到 DOM 中......
<script type="text/javascript">
jQuery(document).ready(function($) {
$('#add-row').on('click', function() {
var row = $('.empty-row.screen-reader-text').clone(true);
row.removeClass('empty-row screen-reader-text');
row.insertBefore('#repeatable-fieldset-one tbody>tr:last');
return false;
});
});
</script>
我的问题
我需要从上面的 HTML 中获取带有 ID editor
的文本区域......
<textarea id="editor"></textarea>
我需要运行这个 JavaScript 以将其转换为 WordPress 中的所见即所得编辑器,其中以下 id
的值是添加到 DOM 的每个新行/编辑器的唯一值......
tinyMCE.execCommand('mceAddControl', false, id);
因为 HTML 行是克隆的clone(true)
所以它会从前一行复制相同的编辑器实例,因为我无法使用唯一 ID 设置和启动新编辑器。
那么,我如何重现所有这些功能,同时允许添加到 DOM 的新行具有自定义 ID 值,并在将新行添加到 DOM 后在该新 ID 上运行tinyMCE.execCommand('mceAddControl', false, id);
?
我建议您在克隆后删除重复的ID,并使用类名代替它。如果ID重复,TinyMCE不会创建编辑器。
$(".screen-reader-text").clone().find("textarea").removeAttr("id").addClass("editor");
然后编辑器绑定代码将是,
tinyMCE.execCommand('mceAddControl', false, ".editor");
相关文章:
- window.getSelection()不会't给出html节点
- 删除HTML节点而不删除其子节点
- 需要使用JavaScript根据类名合并相邻的HTML节点
- 通过 AJAX 发送表单,HTML 节点选择用于数据发送
- 使用 jQuery 将自定义 ID 添加到克隆的 HTML 节点
- 为什么我的html节点保持类ng隐藏属性ng show=true
- Javascript:显示/隐藏HTML节点
- 将数组中的一个值附加到每个值'等效的html节点
- 仅选择 html 节点的根项
- 如何检查 DOM 节点是否是“html”节点
- 如何从控制器获取表示 ngRepeat 中元素的 HTML 节点的参数
- PHP在HTML节点之间获取文本
- Knockoutjs将biding应用于多个html节点
- 使用java javascript脚本API操作HTML节点
- HTML节点图生成器
- 如何遍历HTML节点以查找匹配项并从节点中获取下一个innerHTML
- 如何获得具有特定数据属性的html节点
- 如何设置两个html节点的innerText,其中一个节点是子节点
- 如何通过javaScript查找html节点
- 如何设置一个html节点's innerText和innerHtml不使用jQuery