1

所以我试图在 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

4 回答 4

2

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

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

$('.name').click();
于 2010-07-28T19:26:55.217 回答
2

您将 jQuery 编码与“传统”编码混为一谈,但它不起作用。尝试这个:

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

anchortags.click();
于 2010-07-28T19:27:23.020 回答
1

像这样的东西:

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

j$(function(){...});是相同的j$(document).ready(function(){...});

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

于 2010-07-28T19:28:22.610 回答
0
var j$ = jQuery.noConflict();
j$(document).ready(function(){
   j$('.name').each(function() {
       j$(this).trigger('click');
   });
于 2010-07-28T19:29:29.613 回答