2016-01-30 19 views
3

我試圖從<div>中獲取此函數的值。我想要得到的值是「工發組織做水雉」,這個網站裏面:無法從使用jquery的函數獲取值

<div class="event-data"> 
       <h1 class="event__title ng-binding"> 
        Unidos do Jaçanã 
        <!--<a href="{{event.singleUrl}}" target="_blank"><i class="fa fa-external-link"></i></a>--> 
        <span class="event__subtitle ng-binding">Carnaval de Rua 2016</span> 
       </h1> 


       <!-- ngRepeat: occs in event.occurrences --><!-- ngIf: occs.inPeriod --><div class="event__occurrences ng-scope" ng-repeat="occs in event.occurrences" ng-if="occs.inPeriod"> 
        <div class="event__venue"> 
         <a href="http://spcultura.prefeitura.sp.gov.br/espaco/2141/" class="ng-binding">Rua Antônio César Neto, 347</a> 
        </div> 
        <div class="event__time ng-binding">Dia 6 de fevereiro de 2016 às 14:00</div><br> 
        <div class="event__time ng-binding">bloco de rua do tradicional bairro do jacana</div> 
        <!--a href="#" class="js-more-occurrences"><i class="fa fa-plus-circle"></i></a--> 
       </div><!-- end ngIf: occs.inPeriod --><!-- end ngRepeat: occs in event.occurrences --> 

       <!-- <div class="event__languages" style="margin: -10px 0 10px 0"> 
        <h4 class="event__languages--title">{{event.terms.linguagem.length == 1 ? 'Linguagem' : 'Linguagens'}}:</h4> {{event.terms.linguagem.join(', ')}} 
       </div> --> 
       <span class="event__classification ng-binding">Livre</span> 

       <div class="event__price ng-binding"> 
        <span class="fa-stack"> 
         <i class="fa fa-circle fa-stack-2x"></i> 
         <i class="fa fa-usd fa-stack-1x fa-inverse"></i> 
        </span> 
        gratuito 
       </div> 

       <!-- ngIf: event.traducaoLibras == 'Sim' && event.descricaoSonora == 'Sim' --> 
       <!-- ngIf: event.traducaoLibras == 'Sim' && event.descricaoSonora != 'Sim' --> 
       <!-- ngIf: event.traducaoLibras != 'Sim' && event.descricaoSonora == 'Sim' --> 

       <!--    <div ng-if="event.project.name"> 
        <h4>projeto:</h4> 
        <a href="{{event.project.singleUrl}}">{{event.project.name}}</a> 
       </div> 
<div ng-if="event.owner.name"> 
        <h4>publicado por:</h4> 
        <a href="{{event.owner.singleUrl}}">{{event.owner.name}}</a> 
       </div> --> 
       <a href="http://spcultura.prefeitura.sp.gov.br/evento/23693/" target="_blank" class="event__info">Mais informações</a> 
      </div> 

而且,對於這一點,我使用jQuery的麥片模塊,使用此代碼:

var cheerio = require('cheerio'); 
var request = require('request'); 


request({ 
    method: 'GET', 
    url: 'http://carnavalderua.prefeitura.sp.gov.br/eventos/blocos/' 
}, function(err, response, html) { 
     if(err) return console.error(err) 
     $ = cheerio.load(html) 
     $('h1.event__title').filter(function() { 
      var data = $(this) 
      var title = data.html() 
      console.log(title) 
     }) 
}) 

而且我得到這個日誌:

{{event.name}} 
        <!--<a href="{{event.singleUrl}}" target="_blank"><i class="fa fa-external-link"></i></a>--> 
        <span class="event__subtitle">{{event.subTitle}}</span> 

我認爲我要找的值在{{event.name}}裏面。我怎樣才能取得這個價值?

在此先感謝。

+0

您可以包括在後的HTML,而不是直接使用圖像? –

+0

爲什麼使用'.filter(function())'?改爲使用'text()'或'contents()'。 –

+0

我試過了,但是我得到了相同的日誌... –

回答

0

你可以嘗試一個正則表達式..
var fullTitle = document.querySelector('h1.event__title')
的選擇會給你一個匹配

然後
var titleStriped = fullTitle.innerHTML.match(/^\s*(.*)\s*</)[1]
將匹配你得到當前的HTML和文檔中的第一個冠軍給你「Unidos做Jaçanã」

你也可以使用jQuery選擇器,.html()方法和相同的正則表達式,如果你更喜歡jQuery

注:您可能需要修改你的正則表達式,如果你需要匹配不同的結果