标签: jquery-after

.append(),prepend(),. after()和.before()

我非常精通编码,但偶尔我会遇到似乎基本相同的代码.我在这里的主要问题是,你为什么要使用.append()当时.after()或反之?

我一直在寻找,似乎无法找到两者之间的差异的明确定义,何时使用它们以及何时不使用它们.

一个优于另一个的好处是什么?为什么我会使用一个而不是另一个?有人可以向我解释一下吗?

var txt = $('#' + id + ' span:first').html();
$('#' + id + ' a.append').live('click', function (e) {
    e.preventDefault();
    $('#' + id + ' .innerDiv').append(txt);
});
$('#' + id + ' a.prepend').live('click', function (e) {
    e.preventDefault();
    $('#' + id + ' .innerDiv').prepend(txt);
});
$('#' + id + ' a.after').live('click', function (e) {
    e.preventDefault();
    $('#' + id + ' .innerDiv').after(txt);
});
$('#' + id + ' a.before').live('click', function (e) {
    e.preventDefault();
    $('#' + id …
Run Code Online (Sandbox Code Playgroud)

javascript jquery append prepend jquery-after

193
推荐指数
7
解决办法
28万
查看次数

jQuery:在另一个元素之后添加元素

我有一个特定的文本框,我想在它之后添加一个div.我已经尝试过该.append()函数,但只在元素中添加了div.

例如,我有:

<input type="text" id="bla" />
Run Code Online (Sandbox Code Playgroud)

我想把它改成:

<input type="text" id="bla" /><div id="space"></div>
Run Code Online (Sandbox Code Playgroud)

html jquery append insertafter jquery-after

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

jQuery:after()和insertAfter()之间有什么区别

jQuery有一个.after()方法,也有一个.insertAfter()方法.

他们之间有什么区别?我想我可以使用.after()在所选元素(或元素)之后插入元素.是对的吗?有什么.insertAfter()用?

javascript jquery insertafter jquery-after

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

为什么jQuery .after()不链接新元素?

我很好奇为什么jQuery的.after()不会链接或"提供你",你用它创建的新元素.在我看来它应该是,但我不是专家,并希望有人可以阐明为什么这是一个坏主意.这是一个例子,看看我想要什么.after():

这是一些标记:

<div id="content1">
    <p id="hello1">Hello</p>
</div>
<div id="content2">
    <p id="hello2">Hello</p>
</div>
Run Code Online (Sandbox Code Playgroud)

这就是我想要的,但这将"Hello"替换为"World!":

$('#hello1').after('<p />').text('World!');
Run Code Online (Sandbox Code Playgroud)

这样做,但肯定是丑陋的:

$('#hello2').after('<p />');
var $newParagraph = $('#content2 p').last();
$newParagraph.text('World');
Run Code Online (Sandbox Code Playgroud)

这更好,但我没有完全卖掉:(也许我应该?)

$('#hello1').after( $('<p />').text('World') );
Run Code Online (Sandbox Code Playgroud)

请注意,这显然是一个简化的例子,即"<p> World!</ p>"不是我想要添加的,我的真实世界问题比这更复杂.

谢谢你的任何想法.

html javascript jquery jquery-after

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

after()插入元素,然后将其取回

可能重复:
为什么jQuery .after()不链接新元素?

这个参考代码:

$("#id").after(string);
Run Code Online (Sandbox Code Playgroud)

将字符串的元素插入其需要的位置是否相当不错.

如何获取对新插入的HTML元素(字符串)的引用?

javascript jquery dom jquery-after

15
推荐指数
2
解决办法
5922
查看次数

jQuery的after方法不使用新创建的元素

就我所知,以下代码应该可以工作,创建一个<div>元素,然后创建一个<p>元素; 表达式应该导致一个带有两个元素的jQuery对象:

$("<div>first element's content</div>").after("<p>second element's content</p>");
Run Code Online (Sandbox Code Playgroud)

但是,我得到的是非常不同的.文档(参见标题"插入断开的DOM节点")告诉我上面的代码应该生成一个jQuery对象,抓取两个HTML片段并构建两个DOM元素.但是,我所获得的,在几个不同版本的jQuery中,都高于1.4,是一个只有1个节点的jQuery对象.但是,下面的代码工作正常,返回(我相信)正确的jQuery对象,里面有两个元素:

$("<div></div>").after("<p>second element's content</p>");
Run Code Online (Sandbox Code Playgroud)

这个例子也适用:

$("<div></div>").after("<p>second element's content</p>").after("<p>third element's content</p>");
Run Code Online (Sandbox Code Playgroud)

.after()如果创建的第一个DOM节点为空,则该方法可以正常工作,但是当它不存在时(不管后续DOM节点的内容是否附加到它),该方法似乎没有问题.

我是否遗漏了有关jQuery的内部,奇怪的DOM问题和/或JavaScript特性的问题,或者这只是一个jQuery错误,从版本1.4到1.7继续存在?

(这是一个微薄的JSFiddle,很明显地展示了这个问题.)

javascript jquery jquery-after

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

Jquery淡入.after()?

简单但真的无法让它工作,这是我的脚本......

$('body').after('<div id="lightBox" style="height: ' + htmlHeight + 'px;"></div>');
Run Code Online (Sandbox Code Playgroud)

我怎样才能让它淡出而不仅仅是弹出?放fadeIn()或之后.after()不起作用?

javascript jquery fadein jquery-after

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

好奇关于jQuery中的hide().after("")

在这里有一些代码:

HTML:

<body>
<p>This is a paragraph.</p>
<button>click me</button>
</body>
Run Code Online (Sandbox Code Playgroud)

使用Javascript:

$(document).ready(function(){
  $("button").click(function(){
    $("p").hide().after('<p>hello world</p>');
  });
});
Run Code Online (Sandbox Code Playgroud)

实际上,我也在使用JQuery 2.0.2.


在我的理解中,当我点击按钮点击我时,"<p>This is paragraph<p>"将被替换<p>hello world</p>.

第一次点击成功.然而,许多hello world随着进展的增长率显示在第一次显示之后hello world.例如:

你好,世界


我已经通过firebug检查了源代码,发现它是:

<p style="display: none;">This is a paragraph.</p>
<p>hello world</p>
<p style="display: none;">hello world</p>
<p>hello world</p>
<button>click me</button>
Run Code Online (Sandbox Code Playgroud)

为什么第一个<p>hello world</p>没有被新的替换?

它不是仅仅显示一个p标签吗?

html javascript jquery jquery-after

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

用after()添加的jQuery元素具有不正确的间距

我有<ul>一些<li>元素.其中一些是隐藏的,并在单击jQuery时添加到列表的末尾after().

但是,由于某些原因,添加的元素after()总是与它们之后添加的元素太接近.

在这里做了一个jsbin演示

另外,截图解释:

在此输入图像描述

使用after()而不是简单的原因addClass或者show是因为列表依赖于应用样式li:nth-child(even),因此如果元素存在但仅隐藏,则会导致列表样式中出现问题.

html javascript css jquery jquery-after

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

Jquery:如何结合 addCLass() after() 和 slideDown()

我正在尝试将一个类添加到现有的 div 容器中,并在现有的 div 下方插入一个新的 div(成功时)。

<script>
$(document).ready(function(){
  $(".entry").click(function(){
     $('#content').addClass("col2",1000).after('<div class="box col2">test</div>', function(){
        $(this).slideDown();
     });
  });
});
<script>
Run Code Online (Sandbox Code Playgroud)

不幸的是,这段代码不能正常工作。slideDown 函数不起作用,即使前一个函数尚未完成,新的 div 也已经出现。

如果有人可以帮助我就好了。

jquery slidedown jquery-after

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

标签 统计

jquery ×10

jquery-after ×10

javascript ×8

html ×4

append ×2

insertafter ×2

css ×1

dom ×1

fadein ×1

prepend ×1

slidedown ×1