Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript/jQuery:将内容分为两部分_Javascript_Jquery_Html - Fatal编程技术网

Javascript/jQuery:将内容分为两部分

Javascript/jQuery:将内容分为两部分,javascript,jquery,html,Javascript,Jquery,Html,我不确定是否可以通过Javascript和任何帮助或建议来实现这一点 下面是一个场景:假设我有6段长的内容(全部文本)。内容立即从数据库中动态提取(这意味着所有6个段落都是通过单个变量输出的,所以我没有办法改变这一点) 我需要做的是,在页面顶部显示前两段,然后显示其他内容,然后在其他内容下方显示其余段落 因此,内容=6段 Paragraph One Paragraph Two SOME OTHER COOL STUFF IN BETWEEN Paragraph Three Paragraph

我不确定是否可以通过Javascript和任何帮助或建议来实现这一点

下面是一个场景:假设我有6段长的内容(全部文本)。内容立即从数据库中动态提取(这意味着所有6个段落都是通过单个变量输出的,所以我没有办法改变这一点)

我需要做的是,在页面顶部显示前两段,然后显示其他内容,然后在其他内容下方显示其余段落

因此,内容=6段

Paragraph One
Paragraph Two

SOME OTHER COOL STUFF IN BETWEEN

Paragraph Three
Paragraph ...
Paragraph Six

是否可以使用Javascript拆分此内容。段落在p标签内输出。

如果是一个长字符串,除非有delimeter,否则我看不到分离的方法。如果它们已经在段落标记中,您可以使用jQuery和
之类的东西。在第二段后面附加
,使用
:eq(1)
选择器标记所需的内容。

如果每个段落都被包装在一个p标记中,那么您可以这样做(这个例子在jquery中非常重要,但在javascript中也不会太糟糕)

内容:

<div id="wrapper">
    <p></p>
    <p></p>
    <p></p>
    <p></p>
    <p></p>
    <p></p>
</div>

脚本:

<script>
$('#wrapper:nth-child(2)').append("SOME OTHER COOL STUFF IN BETWEEN");
</script>

$(“#wrapper:nth child(2)”).append(“介于两者之间的一些其他很酷的东西”);
作为常规javascript

<script>
var p3 = document.getElementById('#wrapper').childNodes[2];
var text = document.createElement("p");
text.innerHTML = "SOME OTHER COOL STUFF IN BETWEEN";
p3.insertBefore(text,p3);
</script>

var p3=document.getElementById('#wrapper').childNodes[2];
var text=document.createElement(“p”);
text.innerHTML=“介于两者之间的其他一些很酷的东西”;
p3.插入前(文本,p3);

您没有说您正在使用一个库,所以下面介绍如何在没有库的情况下实现它

var p = document.getElementById('my-container').getElementsByTagName('p'),
    newDiv = document.createElement('div');

p.parentNode.insertBefore(newDiv, p[2]);

HTML

<div id="wrapper">
    <p>Paragraph 1</p>
    <p>Paragraph 2</p>
    <p>Paragraph 3</p>
    <p>Paragraph 4</p>
    <p>Paragraph 5</p>
    <p>Paragraph 6</p>
    <div id="cool">SOME OTHER COOL STUFF IN BETWEEN</div>
</div>
$('#wrapper > p').slice(2).appendTo('#wrapper');
#cool { font-size:20px; color:red; }
CSS

<div id="wrapper">
    <p>Paragraph 1</p>
    <p>Paragraph 2</p>
    <p>Paragraph 3</p>
    <p>Paragraph 4</p>
    <p>Paragraph 5</p>
    <p>Paragraph 6</p>
    <div id="cool">SOME OTHER COOL STUFF IN BETWEEN</div>
</div>
$('#wrapper > p').slice(2).appendTo('#wrapper');
#cool { font-size:20px; color:red; }

现场演示:

是的,它是一个长字符串,在单个的p标签中输出…我会给你。附加一个快照谢谢!如果你需要帮助或示例,请回复,我会发布代码。不过应该是直截了当的,jquery站点有很多示例。祝你好运!:)谢谢大家,我与他们合作:$(“#wrapper>p”).slice(2).appendTo(“#wrapper”);来自@Sime Vidas,但您的所有建议都指向了这个解决方案这可能正好解决了问题,我专门为这个网站使用jQuery,所以更好。现在尝试一下……这里正在进行的一些心灵感应:)与,这不应该在
p3
上调用吗,但是在它的父项上呢?也许你应该发布一个“内容”的样本,这样我们就知道段落的组成。如果你使用jQuery,请用
[jQuery]
标记它。啊,你也打败了我,在我的评论中添加了我的版本。对不起,我应该指定我可以使用jQuery,现在就更新了帖子,并且最终成功了。谢谢你的帮助!