Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将css工作中断规则中的句子转换为字符串?_Javascript_Html_Css - Fatal编程技术网

Javascript 如何将css工作中断规则中的句子转换为字符串?

Javascript 如何将css工作中断规则中的句子转换为字符串?,javascript,html,css,Javascript,Html,Css,一些 话 wordswo大佬123字 我想我没有抓住问题的重点,所以这里有一个 旧答案 添加id <div id="myDiv" style="width:10px"> some words </div> 现在,您可以使用正则表达式或其他字符串方法来更改myTxt,然后将其放回原处,只需: document.getElementById("myDiv").innerHTML = myTxt; 一些可能对您有所帮助的想法: 使用正则表达式生成新行/\n/ 使


一些
话
wordswo大佬123字

我想我没有抓住问题的重点,所以这里有一个


旧答案 添加id

<div id="myDiv" style="width:10px">
  some words
</div>
现在,您可以使用正则表达式或其他字符串方法来更改
myTxt
,然后将其放回原处,只需:

document.getElementById("myDiv").innerHTML = myTxt;

一些可能对您有所帮助的想法:

  • 使用正则表达式生成新行
    /\n/
  • 使用regex或
    indexOf()
    查找某物的位置
  • 基于换行符
    .split(“\n”)
    ,或比较
    .indexOf(“\n”)
    • html:

      <div class="oneWordOneLine">
        some words
      </div>
      
      .oneWordOneLine {
        word-spacing: 999999px;
      }
      
      或者你也可以使用
      字间距:100vw

      如果您有一个固定宽度的元素,您可以将元素本身的确切宽度作为字间距的值:

      .oneWordOneLine {
         width: 100px;
         word-spacing: 100px;
       }
      

      一种可能的方法是“滚动范围”。将其移动到textNode中,检查其高度变化的点。像这样:

      函数getWordsByLines(textNode){ 常量字=[]; const textLength=textNode.data.length; const range=textNode.parentNode.ownerDocument.createRange(); 范围。选择NodeContents(文本节点); 设prevHeight=NaN; 让单词=''; 设rangeEnd=0;
      while(rangeEnd)请创建一个。是否需要对齐该字符串的视觉表示形式(给定宽度是任意的)使用它的逻辑表示-换句话说,按照显示的方式拆分字符串?这看起来不像是一项简单的任务:一种可能的方法是在可能的范围和它们的clientract之间循环。我可以问一下,为什么需要这样做,背后的目标是什么吗?@raina77ow我创建了一个dom输入,让用户输入一些内容,然后移动这些内容文本到画布。这如何回答OP的问题?问题相当广泛,关键问题是“有没有办法转换它们?”通过将文本保存到一个变量,然后对其进行操作,然后将其放回原处,我们就可以做到这一点。我进一步给出了解决Op想要解决的两个问题的方法。@Jensei但是一个使用
      word wrap
      样式的文本节点仍然是同一个文本节点。除非它们位于thout the style too.因此你的答案对OP没有用处。据我所知,OP想知道当容器使用word wrap时,哪些单词在哪一行。你的答案没有正确反映这一点。你是对的,我错过了wordwrap的要点。但是这个问题实际上是重复的。我更新了这个问题,并添加了一个链接,指向当这个问题出现时uestion之前被问过。一旦你在javascript中有了换行符,使用我的答案中的“一些可能对你有帮助的想法”部分来找出每行上的单词就很简单了。我只是想在这里提供帮助。没有理由讨厌。还有,很抱歉,伙计们,使用代码片段对于这项任务来说真的很麻烦(
      .oneWordOneLine {
         width: 100px;
         word-spacing: 100px;
       }