2013-04-26 79 views
0

所以這可能是一個獨特的問題如何從調用一個jQuery功能的for循環在HTML

我有這個XSL的for-each產生3串音樂,電視圈,喜劇

的HTML(和我的JavaScript嘗試)未捕獲的SyntaxError

<div id="rgt" style="position:absolute; height:1px; visibility:hidden;"> 
    <xsl:for-each select="$GenreTypes/item"> 
     <div id="rgt-{position()}"> 
      <xsl:value-of select="sc:fld('title',.)" /><!-- Spits out Music, TV, Comedy --> 

      <!-- Where I'm trying to call my function to add titles to an Array --> 
      <script type="text/javascript">$.addRelatedGenres('{sc:fld('title',.)}');</script> 
     </div> 
    </xsl:for-each> 
</div> 

基本上我需要捕獲這些值轉換爲jQuery的數組。我'打印'出我需要隱藏的div的字符串,因爲每個字符串都由for-each循環'打印',我想調用我的jQuery函數並將每個字符串添加到Array。

我的jQuery函數

function addRelatedGenres(rgt_name) { 
    console.log(rgt_name); 
} 

到目前爲止,我得到的語法錯誤,不知道如何從不是一個onClick或依賴於頁面的URL頁面調用JavaScript/jQuery函數(一切都發生在一頁上,所以沒有新的頁面,只有div被隱藏和隱藏)。

也許有更好的方法來做到這一點?

感謝您的採訪! :)

+1

你的函數不是「jQuery函數」。這是JavaScript。首先你需要在通話之前刪除'$ .'。 – Archer 2013-04-26 16:19:42

+0

啊,這是它的甜蜜!你可以發佈這個作爲一個問題,我會'檢查':) – 2013-04-26 16:21:26

+1

很高興幫助 - 將做:) – Archer 2013-04-26 16:27:57

回答

1

你的函數不是「jQuery函數」 - 它是javascript。您需要從通話之前刪除$.

0

不應:

<script type="text/javascript">$.addRelatedGenres('{sc:fld('title',.)}');</script> 

<script type="text/javascript">$.addRelatedGenres('<xsl:value-of select="sc:fld('title',.)" />');</script> 

IIRR,{}語法僅適用於屬性。

+0

我試過,但它吐出這個錯誤:未捕獲TypeError:對象函數(電子,噸){返回新v.fn.init(e,t,n)}沒有方法'addRelatedGenres'如果我使用$()。我得到這個錯誤Uncaught TypeError:Object [object Object] has no method'addRelatedGenres' – 2013-04-26 16:20:18