相关疑难解决方法(0)

Javascript在元素后附加Child

我想在一个ul元素中使用javascript追加一个li元素,这是我到目前为止的代码..

var parentGuest = document.getElementById("one");
var childGuest = document.createElement("li");
childGuest.id = "two";
Run Code Online (Sandbox Code Playgroud)

我熟悉appendChild,

parentGuest.appendChild(childGuest);
Run Code Online (Sandbox Code Playgroud)

但是,这会将新元素添加到另一个元素中,而不是在其后.如何在现有元素之后附加新元素?谢谢.

<ul>
  <li id="one"><!-- where the new li is being put --></li>
  <!-- where I want the new li -->
</ul>
Run Code Online (Sandbox Code Playgroud)

javascript getelementbyid appendchild createelement

65
推荐指数
4
解决办法
10万
查看次数

如何用javascript一个接一个地写一个元素?

我需要在一个接一个地附加一个元素onclick(textarea).

我怎么做?

javascript element

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

如何隐藏/显示一定长度内的更多文本(如youtube)

我希望文本只有一定数量的字符/长度,在那个长度之后,我想要一个链接来显示文本的全长.

链接将是(more...).一旦用户点击链接(more..),文本的其余部分将向下滑动.

我怎么做到这一点?

这是一个例子.

blah blah blah blah blah (more...)
Run Code Online (Sandbox Code Playgroud)

当用户点击时(more..),它将显示整个文本.

注意:我在表格行/表格单元格中获取有关数据,而不仅仅是任何文本.

jquery

34
推荐指数
6
解决办法
16万
查看次数

如何在JavaScript中交换DOM子节点?

交换子节点顺序的最简单方法是什么?

例如,我希望childNode [3]为childNode [4],反之亦然.

javascript dom nodes

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

将元素追加为元素之后的兄弟元素?

如何使用纯Javascript在HTML元素后添加文本?有appendChild但是这会在元素中添加它.我宁愿把它添加为像这样的元素之后的兄弟:

<img id="myimg" src="..." />

<script>
  var myimg = document.getElementById('myimg');
  myimg.appendAFTER('This is my caption.'); //pseudo-code and doesn't really work
</script>
Run Code Online (Sandbox Code Playgroud)

我想最终得到这个:

<img id="myimg" src="..." />
This is my caption.
Run Code Online (Sandbox Code Playgroud)

什么是after()jQuery 的Javascript等价物?

html javascript dom

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

使用javascript的.insertBefore将项目作为最后一个子项插入

我很想念jQuery.我正在开展一个项目,我需要再次使用优质的纯粹Javascript弄脏手.

我有这种情况:

parent
    child1
    child2
    child3
Run Code Online (Sandbox Code Playgroud)

通过javascript,我希望能够在任何这些孩子之前或之后插入一个新节点.虽然javascript有insertBefore,但没有insertAfter.

之前插入可以正常工作以在其中任何一个之前插入一个节点:

parent.insertBefore(newNode, child3)
Run Code Online (Sandbox Code Playgroud)

但是如何在child3之后插入一个节点?我现在正在使用它:

for (i=0,i<myNodes.length,i++){
    myParent.insertBefore(newNode, myNodes[i+1])
}
Run Code Online (Sandbox Code Playgroud)

那就是在我的每个节点的下一个兄弟节点之前插入我的newNode(意味着它将它放在每个节点之后).

当它到达最后一个节点时,myNodes[i+1]变为undefined我现在正在尝试访问不存在的数组索引.

我认为'错误了,但似乎工作得很好,在那种情况下,我的节点确实插在最后一个节点之后.

但那是对的吗?我现在正在几个现代浏览器中测试它,看起来没有看似不好的效果.有没有更好的办法?

javascript dom

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

Jquery函数在纯javascript中等效

我正在寻找一个包含所有jQuery函数的文档,以及它们在API本身由浏览器提供的等价物.

有时我只需要一个特定的jQuery函数(.detach(),.insertAfter(),.on(),...)我加载jQuery的只有这一点.

我想停止我的jQuery依赖,并且jQuery到非库翻译器会帮助我很多(我认为很多人).

网络上有什么类似的东西吗?

编辑:

我找到了:http://youmightnotneedjquery.com/

javascript jquery

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

javascript insertAfter 替代 nextSibling hack?

我有以下代码:

<div id="container">
<div id="cat1"></div>
<div id="cat2"></div>
<div id="cat3"></div>
</div>
Run Code Online (Sandbox Code Playgroud)

我可以执行 insertBefore 但没有 insertAfter...如果我想将另一只猫追加到容器中怎么办?我真的必须使用 nextSibling 吗?感觉非常奇怪的是,有一个 insertBefore ,而对于一个 insertAfter ,必须使用 hack 。有没有替代方案

function insertAfter(referenceNode, newNode) {
    referenceNode.parentNode.insertBefore(newNode, referenceNode.nextSibling);
}
insertAfter(document.getElementById("tres"), myscript);
Run Code Online (Sandbox Code Playgroud)

javascript

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

如何在body标签后附加元素?

图片

这就是我要的。我希望新创建的元素附加在 body 标签之后。不在 body 标签内。

谢谢。

html javascript

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

无法在另一个节点之前和之后插入节点

我正在尝试在现有节点之前和之后插入节点.问题是,它只会插入其中一个.奇.有谁能解释为什么?

这是代码

// create your new node <p>Hi</p>
 var newNode = document.createElement("p");
 newNode.appendChild(document.createTextNode("Hi"));

// a existing node for reference
var refNode = document.getElementById("xyz");

// insert newNode before refNode
refNode.parentNode.insertBefore(newNode, refNode);

// insert newNode after refNode
refNode.parentNode.insertBefore(newNode, refNode.nextSibling);
Run Code Online (Sandbox Code Playgroud)

PS感谢karim79回答了之前关于插入的问题.

javascript dom

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

删除div并追加另一个div

我想重新排列我的div的顺序.

这是我的结构:

  <div class="span8 inner-left" style="clear:both;">
    <div class="span3" style="text-align:right;"></div>
  </div>
  <div id="moreread" class="span4 inner-left"></div>
Run Code Online (Sandbox Code Playgroud)

这就是我想要的结果:

   <div class="span8 inner-left" style="clear:both;">
     <div class="span3" style="text-align:right;"></div>
     <div id="moreread" class="span4 inner-left"></div>
  </div>
Run Code Online (Sandbox Code Playgroud)

这不起作用:

$(this).find('#moreread').after(".span3");
Run Code Online (Sandbox Code Playgroud)

jquery append removeclass

0
推荐指数
1
解决办法
1万
查看次数