有没有办法获取textNode文档中所有对象的集合?
getElementsByTagName()适用于Elements,但textNode不是元素.
更新:我意识到这可以通过走DOM来实现 - 正如下面的许多建议.我知道如何编写一个DOM-walker函数来查看文档中的每个节点.我希望有一些浏览器原生的方式来做到这一点.毕竟有点奇怪的是,我可以<input>通过一个内置呼叫获得所有s,但不是全部textNode.
我有一点CSS的麻烦,似乎无法找到解决方案.我有这个HTML
<div id="closelink">
<a href="">Close</a>
Click to close
</div>
Run Code Online (Sandbox Code Playgroud)
现在我想隐藏文本«单击关闭»,不隐藏div,也不隐藏其中的链接.
可以这样做吗?
所以我一直在用原生的javascript慢慢地替换我的许多普通的jQuery代码,我碰巧document.createTextNode()和相关的MDN文档.阅读后,我有点困惑文本节点是什么.
我知道它可以用于将文本放入其中div,但我确信它不仅仅是"用它来将元素放入元素中". 看一下,看来文本节点也可以引用属性文本.
任何人都可以提供更多关于文本节点是什么以及它用于什么的定义?除了这样的基本内容之外,还有其他实际用途吗?
var div = document.createElement('div');
var text = document.createTextNode('Y HALO THAR');
div.appendChild(text);
Run Code Online (Sandbox Code Playgroud) 可能重复:
如何检索DOM Text节点的文本?
在我处理DOM变异观察者的实验中,我注意到当target文本节点有四个字段都包含节点的新文本时.
datanodeValuetextContentwholeText对于我应该使用哪些领域,是否存在"最佳实践"?
有些只是为了兼容其他浏览器或旧的DOM标准吗?是否我正在阅读与修改文本有什么不同?如果最好的是其他人的目的是什么?
使用jQuery.我有以下html:
<input type="checkbox" name='something' value='v1' /> All the world <br />
Run Code Online (Sandbox Code Playgroud)
我怎么才能获得文本.我应该使用什么选择器?(我需要"全世界")
我也无法触摸HTML ...
我有一个小文本节点:
var node
Run Code Online (Sandbox Code Playgroud)
而且我希望围绕"lol"的每一次出现都包含一个范围.
node.nodeValue = node.nodeValue.replace(/lol/, "<span>lol</span>")
Run Code Online (Sandbox Code Playgroud)
"<span>lol<span>"当我想要"lol"作为span元素时它打印出来.
我被引导到GitHub上的Linkify项目(https://github.com/cowboy/javascript-linkify),用于查找和"链接"仅浮动在文本中的URL和域.
这很棒!它完全适用于文本!
但是,我不太确定如何使它在具有我想要Linkify的文本的textNode上工作.
我理解textNode只有textContent,因为它是所有文本.由于此Linkify函数将HTML作为文本返回,有没有办法获取textNode并使用Linkify输出"重写"其中的HTML?
我一直在JSFiddle上玩它:http://jsfiddle.net/AMhRK/9/
function repl(node) {
var nodes=node.childNodes;
for (var i=0, m=nodes.length; i<m; i++)
{
var n=nodes[i];
if (n.nodeType==n.TEXT_NODE)
{
// do some swappy text to html here?
n.textContent = linkify(n.textContent);
}
else
{
repl(n);
}
}
}
Run Code Online (Sandbox Code Playgroud) 我想选择div元素中的文本并用<b>标签包装它.该<b>标签只能换到文本中的div和一个子元素中没有文本,如<p>在这个例子中标签.
<div>Testing
<p>Some more text inside p</p>
<p>asdasdasdasdasde p</p>
Test
</div>
Run Code Online (Sandbox Code Playgroud)
我可以<p>使用以下内容选择文本,但我无法做同样的事情div.我只想要文本div而不是p.在这种情况下,它应该选择并包装Testing和Test.
var x = $('p')[0].textContent; // this is not working for div.
console.log(x);
Run Code Online (Sandbox Code Playgroud)
我正在寻找一种使用JS在DOM树上执行全文搜索的方法.换句话说,我想检索包含给定字符串的文本节点列表.
我已经尝试过mootools' Element.getElements ( ':contains[string]' )但是我无法使用包含空格的字符串.
编辑:jQuery和mootools似乎让他们的:contains运算符通过树遍历工作.这意味着搜索页面没有本地方式,这是正确的吗?如果页面很大,并且您对元素的唯一信息是要搜索的字符串,则效率非常低.我错了吗?
我在想索引的所有文本节点,并核对了被搜索的每个字符串的索引,但是,在我的项目,有没有办法告诉时,为了保持这样的指数最高最新的DOM更新.
有更好的想法吗?
谢谢