如何设置一些属性,例如 white space = nowrap 到从内容中提取的 url,然后再分配给 span textContent

How do I set some attributes e,g white space = nowrap to the url extracted from content before asigning it to span textContent

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);
  }

如何设置一些属性,例如 white space = nowrap 到从内容中提取的 url,然后再分配给 span textContent。

看来你混淆了一些概念。

white-space: nowrap is a CSS statement that, when applied to an HTML element, causes the text and any inline level elements 在该元素内,当到达元素的边缘时不换行到下一行。这仅适用于具有宽度或无法扩展以容纳内容的块级元素。

CSS 属性如 white-space 只能应用于 DOM 元素,不能应用于字符串(如你的 url)。在这种情况下,url 将是 span 元素的文本内容(实际上是 textContent)。 white-space 将是元素的 CSS 属性。

CSS 属性可以通过 3 种方式应用于 DOM 元素:通过 [=51= 的 <style> tag or external CSS file; though the HTML style attribute, or through direct manipulation in JavaScript of the related style 属性 中的 CSS 声明] HTMLElement.

由于您在 JavaScript 工作,所以您想在这里进行后者。如果我理解正确你正在尝试做什么,下面的代码应该能得到你想要的:

span.textContent = url;
span.style.whiteSpace = 'nowrap';
divContent.appendChild(span);

注意:在JavaScript中,style属性的CSS属性是用驼峰命名的(单词中间大写),而不是kebab-case(单词之间有连字符),因为 JavaScript 会将 - 字符解释为算术运算符,如果您要使用它的话。

另一个注意事项:应用于 spanwhite-space 可能不会做很多事情,因为 span 不是块级元素。如果您的目标是让 span 不包含在 divContent 元素中,您应该将样式添加到该元素:

divContent.style.whiteSpace = 'nowrap';