Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.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
Jquery 在html后面添加元素/段落BR?_Jquery_Html - Fatal编程技术网

Jquery 在html后面添加元素/段落BR?

Jquery 在html后面添加元素/段落BR?,jquery,html,Jquery,Html,晚上好 我在设计网站上的几个页面时遇到了一些问题。我遇到的问题是,页面上拉取和显示的信息没有包含真正的样式,但只包含最终使我的内容非常难看的内容 我想看看是否有一种方法可以在BR元素之后、文本之前插入段落标记。然后在一些文本之后,在下面的BR标记之前添加一个结束段落标记。-因此,把我的休息之间的文本分成段落,以允许进一步的样式 我在下面给出了一个例子:- 在这里,我已经开始尝试 $( "#property-info p br" ).before( "<p>" ); 但这只是

晚上好

我在设计网站上的几个页面时遇到了一些问题。我遇到的问题是,页面上拉取和显示的信息没有包含真正的样式,但只包含最终使我的内容非常难看的内容

我想看看是否有一种方法可以在BR元素之后、文本之前插入段落标记。然后在一些文本之后,在下面的BR标记之前添加一个结束段落标记。-因此,把我的休息之间的文本分成段落,以允许进一步的样式

我在下面给出了一个例子:- 在这里,我已经开始尝试

    $( "#property-info p br" ).before( "<p>" );
但这只是在我的BR周围增加了一个段落标记,而不是在我的文本周围


我无法控制将信息输出到页面的方式,无法手动执行。

请尝试下面的代码部分。您可以设置p标签

$( "#property-info p br" ).each(function( index ) {
  //console.log( index + ": " + $( this ).text() );
    $(this).before('<p>');
});

D'oh,.contents文档正是我想要的

$( "#property-info p" )
.contents()
.filter(function() {
return this.nodeType === 3;
})
.wrap( "<p></p>" )
.end()
.filter( "br" )
.remove();

完美地完成了工作,删除了我的分隔符,并将每个节点包装到一个p标记中:

感谢注释Maverabil,但是这与上面的代码具有相同的效果。不幸的是,它没有用段落包装分隔符之间的文本。您必须区分添加标记这意味着纯字符串操作,插入元素,首先要知道两者之间的区别。在插入元素之前,这当然不起作用。您必须首先执行字符串操作,获取内容的HTML代码,或者创建p元素,并将适当的文本节点附加到子节点。我想我已经明白你的意思了,我需要创建元素,分别找到每个子文本节点,并将它们附加到我的元素中。您是否有任何链接或信息可以帮助我正确定位文本节点本身?再次感谢!