使用JQuery在HTML标记中获取值

时间:2011-10-10 12:06:43

标签: jquery xml

这是我正在尝试解析的XML ...

<BOLETIN>
<localidad>Palencia</localidad>
<predicciones_timestamp>07-10-2011 00h</predicciones_timestamp>
<altitud>797</altitud>
    <fecha>2011-10-07
        <titulo1>Día</titulo1>
        <cielo1>Cubierto</cielo1>

        <titulo2>Noche</titulo2>
        <cielo2>N-Cubierto</cielo2>
        ....
    </fecha>

这是我正在使用的JQuery函数......

$(xml).find('BOLETIN').each(function(){
    var localidad = $(this).find('localidad').text();
    $( "#localidad" ).append( localidad );                      
    $(this).find('fecha').each(function(){
        var titulo1 = $(this).find('titulo1').text();
        var cielo1 = $(this).find('cielo1').text();

使用类似的东西:

var fech = $(this).find('fecha');

无效。它将fecha作为Object类型的Object。如果我尝试:

var fech = $(this).find('fecha').text();

fech的值是空的。

如何从XML获取值2011-10-07

非常感谢, VM

2 个答案:

答案 0 :(得分:0)

我建议您查看JQuery中的parseXML方法 - 在XML中查找/更新信息比使用find()each()

更容易

答案 1 :(得分:0)

 <BOLETIN>
<localidad>Palencia</localidad>
<predicciones_timestamp>07-10-2011 00h</predicciones_timestamp>
<altitud>797</altitud>
    <fecha date='2011-10-07'>
        <titulo1>Día</titulo1>
        <cielo1>Cubierto</cielo1>

        <titulo2>Noche</titulo2>
        <cielo2>N-Cubierto</cielo2>
        ....
    </fecha>



 $(xml).find('BOLETIN').each(function(){
 var localidad = $(this).find('localidad').text();
 $( "#localidad" ).append( localidad );                      
 $(this).find('fecha').each(function(){
  var date  = $(this).attr('date');
  var titulo1 = $(this).find('titulo1').text();
  var cielo1 = $(this).find('cielo1').text();

我想这应该有用

如果你不能在这里编辑xml的另一个解决方案:

$("fecha")
        .clone()    //clone the element
        .children() //select all the children
        .remove()   //remove all the children
        .end()  //again go back to selected element
        .text();    //get the text of element