0

これは私のコードです:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
    <title>Google AJAX Feed API - Simple Example</title>
    <!--<script type="text/javascript" src="http://www.google.com/jsapi"></script>-->
    <script type="text/javascript" src="http://www.google.com/jsapi"></script>
    <script type="text/javascript" src='jquery-1.4.2.js'></script>
    <script type="text/javascript">

    google.load("feeds", "1");
    function initialize() {
      var feed = new google.feeds.Feed("http://maps.google.com/maps/ms?ie=UTF8&hl=zh-CN&vps=1&jsv=259e&msa=0&output=georss&msid=109685068115364659392.00048b5b630141d82b83a");

      feed.setResultFormat(google.feeds.Feed.MIXED_FORMAT);
      feed.load(function(result) {
          if (!result.error) {
            for (var i = 0; i < result.feed.entries.length; i++) {
              var entry = result.feed.entries[i];
             var guid=entry.xmlNode.getElementsByTagName("id") || entry.xmlNode.getElementsByTagName("guid") ||0
            //console.log($('id',entry.xmlNode.xmlDocument)||$('guid',entry.xmlNode.xmlDocument))
            console.log(guid)
            }
          }
        });
  }
    google.setOnLoadCallback(initialize);

    </script>
  </head>
  <body>
    <div id="feed"></div>
  </body>

そして私のコードは何も得られませんでした、

私はjqueryのメソッドtext()またはhtml()を使用しますが、あまりにも使用しません、

それで、なにかお手伝いできますか 。

ありがとう

4

1 に答える 1

0

試す

$(entry.xmlNode).find('guid').text()

また

$('guid', entry.xmlNode).text()

ただし、次のことはできません。

$(something) || $(somethingElse)

は、一致するものが見つからなくても jQuery オブジェクトを返すため$(somethingElse)、コードが に到達することはありません。$(something)オブジェクト (空の jQuery オブジェクトであっても) はtrueであるため、式は の値に関係なく true になり$(somethingElse)、JavaScript はその評価を完全にスキップします。短絡評価といいます。"id"最初に、次に で検索したい場合は"guid"、次を試してください。

var xml = entry.xmlNode;
var guid = $('id', xml).text() || $('guid', xml).text() || 0;
console.log(guid);

これが機能する理由は、オブジェクトではなく、式の各ステップで文字列を取得しようとしているためです。JavaScript では空の文字列は偽物であるため、次のような式になります。

"" || 42; // 42
"" || (40 + 2); // 42

結果として 2 番目の式 (42) が返されます。

于 2010-07-26T04:13:53.170 に答える