[英]JavaScript replace content by sliding more content in without losing height
[英]Find + replace content of an element without losing events
我有一個函數可以讀取元素的內容,用鏈接替換一個單詞,然后將內容重寫回元素。 顯然,這意味着之前設置的所有事件都將丟失。
有誰知道可以在不丟失事件的情況下查找和替換元素內容的函數/方法?
編輯:不使用庫
這是我當前的代碼,它不會破壞事件,而是將<
,例如,變成<
,所以我不能附加 HTML。 這是我得到的最接近的:
element.appendChild(document.createTextNode(content));
我的原始代碼工作但擺脫了事件:
element.innerHTML += content;
var str = $('#element-id').text();
str = yourReplaceFunction(str);
$('#element-id').text(str);
編輯:
另一種選擇是innerHTML屬性。 它不是很優雅,但仍然有效。
var strElem = document.getElementById('element-id');
var str = strElem.innerHTML;
str = yourReplaceFunction(str);
strElem.innerHTML = str;
編輯2:
另一種選擇是將要替換的文本包裝在單獨的標簽內,例如<span>
。
<div id="container">
<a id="link-with-events">Link</a>
<span id="replaceable">The Text Gets Replaced</span>
<a id="more-links-with-events">Another Link</a>
</div>
然后,您只需訪問和替換 span 標記的內容,而保持周圍元素不變。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.