2013-04-26 22 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