[英]Identify cloned DOM element
我正在使用MediumEditor,它是使用contenteditables的WYSIWYG編輯器。 我需要為contentEditable內部的每個元素分配不同的ID,但是(當您按Enter
)編輯器將從具有所有屬性的esiting段落中克隆一個段落。 我想知道是否有一種方法可以從被克隆的元素中識別出新的<p>
元素? 新元素可以放置在現有元素之前或之后。
更新:
這是一個示例: https : //jsfiddle.net/wwoh7e62/
<div id="container">
<p id="myid" class="myclass" data-id="myid">some text</p>
</div>
<button onclick="doClone(); myFunc();">clone</button>
<script>
doClone = function() {
var container = document.getElementById('container');
var node = container.getElementsByTagName('p')[0].cloneNode(false);
node.innerHTML = 'cloned node';
container.appendChild(node);
}
myFunc = function () {
console.log('my func');
}
</script>
我無法訪問doClone
的代碼。 我的代碼應駐留在myFunc
函數中。
在輸入小提琴時,我意識到解決方案可能是附加一個事件偵聽器(未克隆),而新節點將是不具有事件偵聽器的節點。
更新:
先前分配的id必須與thay相同,以用於標識特定節點。
您可以嘗試以下方法:
從“ p”中刪除ID
<div id="container"> <p class="myclass" data-id="myid">some text</p> </div> <button onclick="doClone(); myFunc();">clone</button>
然后將它們更新到您的Func函數中:
var length = document.getElementById("container").getElementsByTagName("p").length; for(var i=0; i < length; i++) { document.getElementById("container").getElementsByTagName("p")[i].id = i; }
這有幫助嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.