所以我试图在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>
答案 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');
});