jquery $.text() 换行

<info>小牛情侣纸巾套,很可爱的一对小情侣哦!<br/>赶快领回家吧!<br/>超软的面料,超可爱的造型,冷冷的冬天抱在手上也是<br/>很享受的事情哦!</info... <info>小牛情侣纸巾套,很可爱的一对小情侣哦!<br />
赶快领回家吧!<br />
超软的面料,超可爱的造型,冷冷的冬天抱在手上也是<br />
很享受的事情哦!</info>

用Jquery+ajax+xml读取这段在xml里面的文字
方法是$.text();输出方式是$.html()
结果是不换行,连<br />都没有了
我想知道一下这个问题是怎么回事
可以解决么?
有什么好方法。

谢谢
MSN:guessking@21cn.com
用jquery读取回来的data不能用$.html()
我试过了,不能这么用
展开
 我来答
百度网友3c62cd2
推荐于2016-05-15 · TA获得超过103个赞
知道答主
回答量:93
采纳率:0%
帮助的人:99.4万
展开全部
jquery的 text()仅能读取出xml中不含标签的文字部分。

而 html() 办法也绝对读不出xml中的标签。

现在给你两种解决办法:

办法一,不用ajax,而用jquery的load()办法。前提是你知道load()怎么用。

将你需要读取的的xml代码块外面套一层html标签,比如div什么的,再给他加个ID,比如:

<info>
<div id="xxx">
小牛情侣纸巾套,很可爱的一对小情侣哦!<br />
赶快领回家吧!<br />
超软的面料,超可爱的造型,冷冷的冬天抱在手上也是<br />
很享受的事情哦!</div></info>

这样,用
$("选择器").load("xml文件的url #xxx")
就可以读出。

这办法有2种缺点。
一,这办法不是ajax,虽然有点像
二,需要改动xml原文件。

办法二,使用一小段jquery插件:

/**
* jQuery xml plugin - Converts XML node(s) to string
* Dual licensed under the MIT and GPL
* Copyright (c) 2009 Radim Svoboda
* @version 1.0.0
*/
jQuery.fn.xml=function(all){var s="";if(this.length)
(((typeof all!='undefined')&&all)?this:jQuery(this[0]).contents()).each(function(){s+=window.ActiveXObject?this.xml:(new XMLSerializer()).serializeToString(this);});return s;};

以上为插件代码。
使用以上代码后,就可以使用ajax读取xml文件中的文字和标签了。比如:

$.get('xml文件url',function(data){$('选择器').html($(data).find('info').xml(0))});

其中xml()括号里有两个参数0和1可以选。
0代表读取 info标签里面的内容
1代表读取 info标签以及标签里面的内容

这种办法,缺点暂时没发现。

好了,我写了那么多,分给我吧?
jltsir
2010-07-27 · TA获得超过372个赞
知道小有建树答主
回答量:383
采纳率:0%
帮助的人:184万
展开全部
用$.text()读取以后里面的<br/>标记就没有啦,变成普通的回车了。你再用html()输出,里面没有<br/>当然不会换行了。你应该用html()读出。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qipaiai
2010-08-05 · TA获得超过155个赞
知道小有建树答主
回答量:96
采纳率:0%
帮助的人:121万
展开全部
html(val)
设置每一个匹配元素的html内容。这个函数不能用于XML文档。但可以用于XHTML文档。

text(val)
设置所有匹配元素的文本内容。与 html() 类似, 但将编码 HTML (将 "<" 和 ">" 替换成相应的HTML实体).

text()
取得所有匹配元素的内容。
结果是由所有匹配元素包含的文本内容组合起来的文本。这个方法对HTML和XML文档都有效。
如:内含的<br />得到的将是换行符;
HTML 代码: <p><b>Test</b> Paragraph.</p><p>Paraparagraph</p>
jQuery 代码: $("p").text();
结果: Test Paragraph.Paraparagraph

url = ?????指定的url
data = 指定的参数
jQuery.ajax({
type : "GET",
url : url,
data : data,
dataType : 'xml',//指定返回数据的格式
success: function(xml){
alert('成功返回。');
xmlObj = $(xml);//转成jQuery对象,转后相当于普通html节点来操作即可,当然也会有小小不同
alert(xmlObj.find('info').html());//前提是info是xml里面的节点且非根节点
alert(xmlObj.find('info').text());//比较下两者的不同
},
error:function(){
alert("失败,可能是服务器端返回的数据的格式不符合xml标准!");
}
});

参考资料: jQuery1.4 API中文手册

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zaodian
2010-08-05 · 超过16用户采纳过TA的回答
知道答主
回答量:79
采纳率:0%
帮助的人:43万
展开全部
$().print(<br />);
你试试
另外就是建一个<p class="br">
从jquery里面调用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式