删除下一个字符jQuery(没有给出html元素)
Remove next character jQuery (no html elements given)
假设以下标记:
<body>
<a href=# name="uniqueLink1">link</a> [ some text here
<a href=# name="uniqueLink2">link</a> [ some more text here
</body>
是否可以使用jQuery从最上面的一行中删除"[",但不删除最下面的一行?
注意:我没有访问标记的权限,但如果我想的话,我可以使用jQuery添加元素、divs
等。但jQuery不需要特别针对']'的string
-它可以是类似于"删除uniqueLink1
之后的下3个字符。
var tn = $('a[name="uniqueLink1"]')[0].nextSibling;
tn.nodeValue = tn.nodeValue.replace('[', '');
演示
$()[n]
是$().get(n)
的简写,因此[0]
将返回对jQuery对象中第一个匹配的DOM元素uniqueLink1
锚的引用。
顾名思义,nextSibling
获取下一个同级节点。在这种情况下,位于给定锚点元素之后的文本节点。
nodeValue
获取并设置文本节点的内容。
给定一个字符串作为第一个参数的String.replace()
只替换第一次出现的内容,因此,如果DOM结构与发布的结构相似,这就足够了。
这将过滤文本节点,并从它找到的第一个节点中删除[
:
var textNode = $('body').contents().filter(function() {
return this.nodeType == 3;
}).eq(1);
textNode.replaceWith(document.createTextNode(textNode[0].textContent.replace('[','')));
小提琴示例
相关文章:
- 如何设置html元素填充的动画
- 删除对HTML元素的拖动
- 如何使用jquery迭代具有相同属性的html元素并查找onclick事件
- 如何使用JQuery在Javascript中转换字符串中的HTML元素
- 一个html元素的克隆次数太多
- 使用AngularJS Directive WHITOUT$scope创建一个动态html元素
- 为什么我在Internet Explorer上看不到html元素
- 重新排列HTML元素的顺序并更改内容
- 使用.on动态添加jquery/js不知道的html元素
- 如果类不是一个选项,如何在使用 jQuery 时控制(避免)嵌套 html 元素的样式
- 如何将html元素添加到tampermonkey中
- 访问html元素值javascript
- 如何在HTML元素上创建函数,而不是将元素作为参数传递
- 自定义HTML元素属性未显示-Web组件
- 让HTML元素充当停止滚动的锚点
- 将html元素插入到文本字符串中,以匹配另一个html字符串
- 替换HTML元素中的字符
- 如何将html元素添加为生成的内容
- 如何使用JavaScript在没有html dom的情况下隐藏html元素
- 使用JS加载HTML元素