标签: textnode

是否有与文本节点相同的getBoundingClientRect()?

有没有办法获取文本节点的边界矩形?

getBoundingClientRect()方法仅在元素上定义,父元素比实际文本节点大.

javascript dom bounding-box textnode

13
推荐指数
2
解决办法
6277
查看次数

查找所有文本节点

我正在尝试编写一个书签,doSomething(textNode)在文档的所有可见文本实例上调用该函数.

doSomething(),只是为了好玩,通过替换传入其中的textNode的textContent,用"derp"替换每个单词.但是,这会使一些空文本节点中包含单词,因此会破坏网页.

有没有办法doSomething()只调用每个包含单词的textNode?

function recurse(element)
{
    if (element.childNodes.length > 0) 
        for (var i = 0; i < element.childNodes.length; i++) 
            recurse(element.childNodes[i]);

    if (element.nodeType == Node.TEXT_NODE && element.nodeValue != '') 
        doSomething(element);
}
var html = document.getElementsByTagName('html')[0];
recurse(html);
Run Code Online (Sandbox Code Playgroud)

javascript recursion bookmarklet textnode

13
推荐指数
1
解决办法
6769
查看次数

JavaScript:在textNode中添加元素

我想在textNode中添加一个元素.例如:我有一个函数,用于在元素的textNode中搜索字符串.当我找到它时,我想用HTML元素替换.那有什么标准吗?谢谢.

html javascript replace textnode

12
推荐指数
1
解决办法
5632
查看次数

如何用另一个(更新)替换Java Jackson TextNode?

我的目标是更新JsonNode中的一些文本字段.

    List<JsonNode> list = json.findValues("fieldName");
    for(JsonNode n : list){
        // n is a TextNode. I'd like to change its value.
    }
Run Code Online (Sandbox Code Playgroud)

我不知道如何做到这一点.你有什么建议吗?

java json textnode jackson

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

jQuery得到.text()但不是span中的文本

大家好,这是我的jQuery部分,为我的页面制作菜单.

function fetchmenus() {
    $.getJSON('sys/classes/fetch.php?proccess=1', function(status) {
        // get line status
        $.each(status, function(i, item) {
            if (item.id == "1") {
                active = "class='active'";
                lastpageid = item.href;
            }
            else {
                active = "class='nonactive'";
            }
            $('<li id="' + item.href + '" ' + active + '><a href="#' + item.href + '">' + item.menuTitle + '<span class="menuspan" id="' + item.href + '"></span></a></li>').appendTo('#menuarea ul#mainmenu');

        });
    });
}
Run Code Online (Sandbox Code Playgroud)

我想要做的就是在item.menuTitle<a,而是在<span>

目前我是这样做的:

$('ul#mainmenu li').live('click', function(event) {
    //alert(this.id);
    $("li#" + lastpageid).removeClass();
    fetchpage(this.id);

    $("#largemenutop").html($(this).text()); …
Run Code Online (Sandbox Code Playgroud)

javascript jquery menu textnode

10
推荐指数
2
解决办法
5759
查看次数

当mousedown和mouseup事件不等于单击时

我已经使用了一些按钮了一段时间,因为它们使用位置相对和顶部:1px在:active伪类中点击它们具有抑郁效果.

我遇到了没有触发的点击事件的问题,结果是由于mousedown和mouseup事件没有在同一个元素上触发.我做了一些摆弄,以确保最内层元素覆盖整个按钮,并发现问题仍然存在.

如果我在文本上点击右键,然后链接跳下(射击鼠标按下事件),然后备份(触发MouseUp事件),但是点击并不会发生.如果我在文本中间很好地点击或者很好地远离文本,那么一切都很好.

我能想到的这里唯一的一点是,mousedown事件射击的textNode和鼠标松开被锚元素作为射击的textNode光标下不再.捕获事件对象和使用萤火虫在目标看结果表明是不是这样的,但我实在想不出另一种解释.阅读一下我可以找到一些关于在Safari中的textNodes上触发的事件的提及,但没有关于这种不匹配的事情.

以下代码段应该允许您复制问题.请记住,你必须在文本,或者像素或两个以上的顶部点击右键,这个问题只有一行像素发生:

<style>
a.button-test {
 display: inline-block;
 padding: 20px;
 background: red;
}
.button-test:active {
 position: relative;
 top: 1px;
}
</style>
<a class="button-test" href="#">Clickedy click</a>
Run Code Online (Sandbox Code Playgroud)

乱搞与CSS,不使用内联块,提高了生产线高度,而不是填充等似乎并不在这里有一个效果.我尝试过很多种组合.我大部分的测试已经在Firefox做是为了让我绑定到事件并记录发生了什么事情通过萤火,但我在其他浏览器中也遇到了这个问题.

除了失去积极的跳跃之外,有没有人可以提供任何灵感?如果可以的话,我真的想保持这种效果.

十分感谢,

Dom(没有双关语)

mouse events click textnode

9
推荐指数
1
解决办法
2923
查看次数

使用jQuery查找带有文本的元素

我想在div中创建一个包含文本字符串的所有html元素的数组,例如

<p>some string</p>.  
Run Code Online (Sandbox Code Playgroud)

我不想得到字符串,我希望数组项是元素(在示例中,将是p节点).我事先不知道字符串是什么,所以我找不到匹配的字符串值.我也不希望空文本节点最终出现在数组中.

谢谢!

jquery textnode

8
推荐指数
2
解决办法
8891
查看次数

JavaScript XML文本节点是否有4096个字符限制?

我总是只获得有效XML文本节点的前4096个字符怎么样?(使用JavaScript ...)是一个有限的文本节点?

javascript xml textnode

8
推荐指数
1
解决办法
3345
查看次数

打字稿:TextNode的类型

如果你写下面的代码:

const e = document.body.firstChild;
if (e.nodeType === Node.TEXT_NODE)
    console.log(e.data);
Run Code Online (Sandbox Code Playgroud)

您将在以下位置收到此错误e.data

TS2339:“ChildNode”类型上不存在属性“data”。

而如果条件为真 ( e.nodeType === Node.TEXT_NODE) 则e除了常规ChildNode属性之外还有一些其他属性,例如datawholeText


我应该转换为什么类型(除了any)?

dom textnode dom-node typescript child-nodes

8
推荐指数
1
解决办法
1414
查看次数

带有跨浏览器换行符的Javascript预格式化文本

我预先格式化了包含换行符和多空格的字符串,我想将它们附加到文本节点中.

<pre id="bar"></pre>

<script>
   var string = "Preformatted"
                + "\n"  // \r, \r\n, \n\r or what else?
                + "multispace     string";
   var text = document.createTextNode(string);
   document.getElementById('bar').appendChild(text);
</script>
Run Code Online (Sandbox Code Playgroud)

我试图采用线路断路器:

  • \n 在所有浏览器中打破行,但在IE(我正在测试7)成为一个空间
  • \r 仅在IE中打破行
  • \r\n 适用于所有浏览器,但在IE中,第二行开头的空间很恐怖
  • \n\r 总而言之,但是在IE中,第一行末尾的空间对于我的布局来说是不可接受的.

我无法使用<br>innerHTML,因为IE会折叠多个空格.
jQuery .text(string)具有完全相同的行为.appendChild(createTextNode(string))

如何插入跨浏览器换行符?
最终,如何轻松检测浏览器是否支持\n\r

javascript cross-browser line-breaks pre textnode

7
推荐指数
1
解决办法
4271
查看次数