相关疑难解决方法(0)

SVG文本中的自动换行

我想<text>在SVG中显示一个自动换行到容器<rect>的内容,就像HTML文本填充<div>元素一样.有办法吗?我不想使用<tspan>s 来定位线条.

xml svg text word-wrap

97
推荐指数
7
解决办法
11万
查看次数

getElementsByTagName()等效于textNodes

有没有办法获取textNode文档中所有对象的集合?

getElementsByTagName()适用于Elements,但textNode不是元素.

更新:我意识到这可以通过走DOM来实现 - 正如下面的许多建议.我知道如何编写一个DOM-walker函数来查看文档中的每个节点.我希望有一些浏览器原生的方式来做到这一点.毕竟有点奇怪的是,我可以<input>通过一个内置呼叫获得所有s,但不是全部textNode.

javascript dom dhtml textnode

73
推荐指数
3
解决办法
2万
查看次数

浏览器Javascript堆栈大小限制

我在IE浏览器中特别得到了一些客户端Javascript堆栈溢出问题,这发生在第三方库中,它进行了一些函数调用,并且由于某种原因它们偶尔会因为它的低堆栈限制而在IE中制动.

然后我编写了一个小测试HTML来测试一些浏览器的堆栈大小限制,发现IE8实际上有一个小的堆栈限制,如果与运行在Windows 7操作系统,8Gb RAM的笔记本电脑上的FF 7或Chrome 14相比:

<html>
<body>

<!-- begin Script: -->
<script type="text/javascript">

function doSomething(){

  var i = 3200;
  doSomethingElse(i);

}

function doSomethingElse(i){
  if (i == 0) return -1;
  doSomethingElse(i-1);
}

doSomething(); 

</script>
<!-- END OF PAGE -->

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

当值大约为3200时,IE引发堆栈溢出,如果与IE相比,Firefox和Chrome可以处理非常深的递归.

我想知道是否有办法将堆栈溢出异常与在IE或任何其他浏览器中运行时引发它的Javascript函数联系起来,如果它可以在堆栈中为堆栈跟踪提供堆栈中的函数链提出错误.

javascript browser stack limit

64
推荐指数
2
解决办法
4万
查看次数

如何使用CSS为容器中的特定单词着色

假设我有一个容器:

 <div id="container"> This is a red apple </div>
Run Code Online (Sandbox Code Playgroud)

如何用红色为"红色"一词着色?像(伪代码)的东西

#container:[word="red"]{
   color:red;
}
Run Code Online (Sandbox Code Playgroud)

是否可以在纯CSS中执行此操作而不引入JavaScript或修改现有HTML?

html css

20
推荐指数
3
解决办法
3万
查看次数

突出显示HTML文本中的单词(但不是标记)

我试图强调身体内的所有匹配单词,但不是任何html标签内的单词.例如,给定的关键字是'para'.这是段落:

<p class="para"> Example of paragraph. Lorem ipsum dolor sit amet. </p>
Run Code Online (Sandbox Code Playgroud)

导致:

<p class="para">
Example of <strong>para</strong>graph. Lorem ipsum dolor sit amet.
</p>
Run Code Online (Sandbox Code Playgroud)

我知道这可以用JavaScript来实现,replace()但我对regex不太了解.

javascript regex

5
推荐指数
2
解决办法
9469
查看次数

查找文本(子文本节点)并将其包装在段落中

我需要一个函数来查找某些元素(在本例中为 div)内的文本(子文本节点)并将文本包装在段落中。

Text1
<div>
  <div>
    Text2
    <div>Text3</div>
  </div>
  <div>Text4</div>
  <p>Text5</p>
</div>
<div>Text6</div>
<div>
  Text7
  <p>Text8</p>
  Text9
</div>
Run Code Online (Sandbox Code Playgroud)

尝试这样做:

const fn = (doc) => {
  const coll = [...doc.childNodes];
  coll.forEach(el => {
    if (el.tagName === 'DIV' && el.childElementCount === 0) {
      el.innerHTML = `<p>${el.innerHTML}</p>`;
    }
    if (el.childElementCount > 0) {
      el.childNodes.forEach(item => {
          if (item.nodeType === 3 && item.textContent.trim()) {
            const content = item.textContent.trim();
            item.innerHTML = `<p>${content}</p>`;
            console.log('2: ', item.innerHTML);
          }
        });
      fn(el);
    }
  });
}
Run Code Online (Sandbox Code Playgroud)

但它工作错误 - 在控制台日志中的 if 条件 …

html javascript dom

2
推荐指数
1
解决办法
988
查看次数

标签 统计

javascript ×4

dom ×2

html ×2

browser ×1

css ×1

dhtml ×1

limit ×1

regex ×1

stack ×1

svg ×1

text ×1

textnode ×1

word-wrap ×1

xml ×1