Google Ajax 피드 API를 사용하여 내 코드에서 'guid' nodeValue를 얻는 방법

StackOverflow https://stackoverflow.com/questions/3332070

  •  29-09-2020
  •  | 
  •  

문제

이것은 내 코드입니다.

<!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()을 사용하지만 너무 사용하지는 않습니다.

그래서 내가 무엇을 할 수 있니 .

감사해요

도움이 되었습니까?

해결책

노력하다

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

또는

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

그러나 다음과 같은 작업은 수행할 수 없습니다.

$(something) || $(somethingElse)

왜냐하면 코드는 결코 도달하지 못할 것이기 때문입니다. $(somethingElse), 부터 $(something) 일치하는 항목이 없더라도 jQuery 객체를 반환합니다.객체(비어 있는 jQuery 객체라도)는 다음과 같습니다. 진실, 따라서 표현식은 값이 무엇이든 상관없이 참이 될 것입니다. $(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

두 번째 표현식(42)을 결과로 반환합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top