在 javascript 中將屬性設定為子字串的任何邏輯。
if (spanArr.length != 0) {
var span = document.createElement('span');
var content = spanArr.join(" ");
var url = content.match(/((([A-Za-z]{3,9}:(?:\/\/)?)(?:[-;:&= \$,\w] @)?[A-Za-z0-9.-] |(?:www.|[-;:&= \$,\w] @)[A-Za-z0-9.-] )((?:\/[ ~%\/.\w-]*)?\??(?:[- =&;%@.\w])#?(?:[\w]))?)/);
span.textContent = ?;
divContent.appendChild(span);
}
在將內容分配給跨 textContent 之前,如何將一些屬性(例如空格 = nowrap)設定為從內容中提取的 url。
uj5u.com熱心網友回復:
看來您在這里混淆了一些概念。
white-space: nowrap是一個 CSS 陳述句,當應用于 HTML 元素時,會導致該元素內的文本和任何行內級別元素在到達元素邊緣時不換行到下一行。這僅適用于具有寬度或無法擴展以容納內容的塊級元素。
CSS 屬性 likewhite-space只能應用于 DOM 元素,不能應用于字串(比如你的url)。在這種情況下, 將是元素url的文本內容(實際上是textContent) 。span這white-space將是元素的 CSS 屬性。
CSS 屬性可以通過 3 種方式應用于 DOM 元素:通過<style>標簽或外部 CSS 檔案中的 CSS 宣告;通過 HTMLstyle屬性,或者通過在 JavaScript 中直接操作styleDOM 的相關屬性HTMLElement。
由于您使用的是 JavaScript,因此您希望在此處執行后者。如果我正確理解您要執行的操作,則以下代碼應該可以滿足您的需求:
span.textContent = url;
span.style.whiteSpace = 'nowrap';
divContent.appendChild(span);
注意:在 JavaScript 中,屬性的 CSS 屬性style是用駝峰式(單詞中間有大寫字母)而不是 kebab-case(單詞之間有連字符)撰寫的,因為-如果你要使用 JavaScript 會將字符解釋為算術運算子那。
另一個注意事項:white-space應用于 aspan可能不會做很多事情,因為 aspan不是塊級元素。如果您的目標是使spans 不包含在divContent元素中,則應改為將樣式添加到該元素:
divContent.style.whiteSpace = 'nowrap';
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/446485.html
標籤:javascript jQuery 较少的
