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 100
/
jQueryfnxml=function(all){var s="";if(thislength)
(((typeof all!='undefined')&&all)this:jQuery(this[0])contents())each(function(){s+=windowActiveXObjectthisxml:(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标签以及标签里面的内容
这种办法,缺点暂时没发现。
好了,我写了那么多,分给我吧?
div [class^="aaa"]
匹配具有class属性、且值以aaa开头的div元素,再根据这个找出其名称。
即变成了:
$("[aaa]")
没有试过,附点资料你可以参考一下:
基本选择器(3种):
$("标签名"),如$("p")是选取了所有的p标签节点
$("#id名"),如$("#test")是选取了id为test的标签节点
$("class名"),如$("test")是选取了所有class为test的标签节点
上面的$("标签名")和$("class名")返回的都是所有满足的节点,至于进一步筛选可以添加一些函数,如eq,gt,lt等等
:匹配所有元素
欢迎分享,转载请注明来源:表白网
评论列表(0条)