2011-12-06 118 views
0

我在JSON響應中有一個數組,例如['global','flexible','testing']。但在HTML頁面上,我可能擁有50個全球術語,20個靈活術語和100個測試術語。但是,如何突出僅第一次全球性,第一次靈活和第一次測試。我試過每個循環,但得到腳本錯誤問題。怎麼做?如何選擇陣列中的第一個項目

這裏是代碼...

response= {"glossary":{"errorFlag":"false","terms":"global,flexible,testing","description":"tetestst setwe wetwet tewtw"}}; 

glossaryterms=response.glossary.terms.split(','); 
        //console.log(glossaryterms); 
        $(glossaryterms).each(function(i,term){ 
         $('#contentId').highlight(term, { wordsOnly: true, className: 'terms' + i }); 
         var clss="." + "terms" + i; 
         $("#contentId").find(clss).eq(0).addClass("gloss_highlight"); 

         var gloss_content = $('#contentId .gloss_highlight'); 
         $(gloss_content).each(function(i,obj){ 
          if($(obj).html().toLowerCase()==term.toLowerCase()){ 
           $(obj).bind('click',function(e) { 
            $('.glossary').remove(); 
            gloss.glossary.getglossarydesc(term,$(obj)); 
           }); 
          } 
         }); 

        }); 
+1

編輯你的代碼,你的JSON到你的問題,我們將看看我們能做些什麼。 – Blender

+0

提供了一些有問題的代碼和你的預期輸出..或者創建一個[jsFiddle](http://www.jsfiddle.net/)來詳細說明你的問題。 –

回答

0

如果你有對象,你可以做到以下幾點:

var firstValue; 
for(var value in myjson) 
{ 
    firstValue = myjson[value]; 
    break; 
} 

如果你有一個數組:

var firstValue = myjson[0]; 

UPD

您在問題開始處和代碼示例中的示例有所不同。在這裏,您如何能得到您的第一項:

var firstterm = response.glossary.terms.split(',')[0]; 

UPD:建議JSON

{ 
    "glossary": 
    { 
     "errorFlag":"false", 
     "terms": { 
        "global" : [ "global1", "global2" ], 
        "flexible" : [ "flexible1", "flexible2" ], 
        "testing" : [ "testing1", "testing2" ] 
        }, 
      "description":"tetestst setwe wetwet tewtw" 
    } 
} 
+0

這隻會給我數組中的第一項。但我想突出顯示所有第一項,例如:global [0],flexible [0],testing [0]。 – Harry

+0

在你提供的示例中,這是不可能的,因爲你的所有工作人員都使用單字符串('「terms」:「global,flexible,testing」),並且你不知道某個組與某個組相關的部分。如果可能的話,您需要更新您的JSON響應。 – Samich

相關問題