我的jquery javascript在这里出了什么问题?

时间:2010-07-28 19:24:12

标签: javascript jquery salesforce visualforce

所以我试图在Visualforce(salesforce的页面创建者)中创建一个页面,并且遇到了javascript方面的问题。基本上应该发生的是该部分将生成一系列链接。 javascript需要单击这些链接。我正在使用jquery

<apex:page standardcontroller="Account" extensions="maininvoice">

<apex:repeat value="{!theListOfIDs}" var="anId">
 <apex:outputLink target="_blank" value="{!URLFOR($Page.invoice2,anId)}" styleClass="name" />
</apex:repeat>

<apex:includeScript value="{!URLFOR($Resource.jquery, 'js/jquery-1.4.2.min.js')}"/>
<script type="text/javascript">
 var j$ = jQuery.noConflict();
j$(document).ready(function(){

var anchortags = j$('.name');

            for(i=0;i<=anchortags.length;i++){
                var currentTag=anchortags[i];                        
                    currentTag.trigger(click);
                    alert("your mother");
                    }
            }
            );

</script>

</apex:page>

4 个答案:

答案 0 :(得分:2)

回答您的确切问题:currentTag.trigger(click);应该是:currentTag.trigger('click');

但是,来吧,jQuery可以一次性为你完成这一切:

$('.name').click();

答案 1 :(得分:2)

你将jQuery编码与“传统”编码混合在一起,而且它无法正常工作。试试这个:

var anchortags = j$('.name');

anchortags.click();

答案 2 :(得分:1)

这样的事情:

var j$ = jQuery.noConflict();
j$(function(){
    j$('.name').click();
});

j$(function(){...});j$(document).ready(function(){...});

相同

将为上一个列表(click())中的每个匹配执行j$('.name')函数。因此.each(function(){...});的使用是多余的。

答案 3 :(得分:0)

var j$ = jQuery.noConflict();
j$(document).ready(function(){
   j$('.name').each(function() {
       j$(this).trigger('click');
   });