Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么IE不在我的jquery函数中调用数组?_Jquery_Arrays_Internet Explorer_Function_Tabs - Fatal编程技术网

为什么IE不在我的jquery函数中调用数组?

为什么IE不在我的jquery函数中调用数组?,jquery,arrays,internet-explorer,function,tabs,Jquery,Arrays,Internet Explorer,Function,Tabs,我使用的是jquery选项卡,选项卡中调用的信息来自一个数组,但是由于我还有一个语言切换,因此选项卡名称和内容会根据所选的语言而变化 我的代码适用于除IE之外的所有浏览器,IE调用了选项卡名称,但选项卡内的内容没有 这是选项卡的代码 <script type="text/javascript"> $(document).ready(function() { //When loaded $(".tab_content").hide(); //Hide content $("ul

我使用的是jquery选项卡,选项卡中调用的信息来自一个数组,但是由于我还有一个语言切换,因此选项卡名称和内容会根据所选的语言而变化

我的代码适用于除IE之外的所有浏览器,IE调用了选项卡名称,但选项卡内的内容没有

这是选项卡的代码

<script type="text/javascript">
$(document).ready(function() {

 //When loaded
 $(".tab_content").hide(); //Hide content
 $("ul.tabs li:first").addClass("active").show(); //Show tab one
 $(".tab_content:first").show(); //Show tab one content

 //On Click Event
 $("ul.tabs li").click(function() {

 $("ul.tabs li").removeClass("active"); //Remove any "active"
 $(this).addClass("active"); //Add "active" class to current tab
 $(".tab_content").hide(); //Hide all tab content

 var activeTab = $(this).find("a").attr("href"); //Find the href attribute value to identify the active tab + content
 $(activeTab).fadeIn(); //Fade in the active ID content
return false;
 });
});
</script> 

$(文档).ready(函数(){
//加载时
$(“.tab_content”).hide();//隐藏内容
$(“ul.tabs li:first”).addClass(“active”).show();//显示选项卡一
$(“.tab_content:first”).show();//显示选项卡一内容
//点击事件
$(“ul.tabs li”)。单击(函数(){
$(“ul.tabs li”).removeClass(“active”);//删除任何“active”
$(this).addClass(“active”);//将“active”类添加到当前选项卡
$(“.tab_content”).hide();//隐藏所有选项卡内容
var activeTab=$(this).find(“a”).attr(“href”);//查找href属性值以标识活动选项卡+内容
$(activeTab).fadeIn();//淡入活动ID内容
返回false;
});
});
这是用每种语言调用内容的代码

<script type="text/javascript">  
        function getLanguageResources(){
    var fr = new Array(); var en = new Array(); 

en['greeting'] = "Hi!"; fr['greeting'] = "Salut!";


    var resources = new Array();
    resources['en'] = en;
    resources['fr'] = fr;


    return resources;
}


function changeLanguage(lang){
var langResources = getLanguageResources()[lang];

$("span[name='lbl']").each(function(i, elt){
    $(elt).text(langResources[$(elt).attr("caption")]);
});  

 $("p[name='lbl']").each(function(i, elt){
    $(elt).text(langResources[$(elt).attr("caption")]); 
  }); 

 $("a[name='lbl']").each(function(i, elt){
    $(elt).text(langResources[$(elt).attr("caption")]); 
  }); 
}

$(document).ready(function() {
$("input[name='languagebutton']").click(function() {
    changeLanguage($(this).val());
});

$(document).ready(
  changeLanguage("en"));

});

函数getLanguageResources(){
var fr=new Array();var en=new Array();
en['greeting']=“嗨!”;fr['greeting']=“敬礼!”;
var resources=newarray();
资源['en']=en;
资源['fr']=fr;
归还资源;
}
函数转换语言(lang){
var langResources=getLanguageResources()[lang];
$(“span[name='lbl'])。每个(函数(i,elt){
$(elt).text(langResources[$(elt).attr(“标题”));
});  
$(“p[name='lbl'])。每个(函数(i,elt){
$(elt).text(langResources[$(elt).attr(“标题”));
}); 
$([name='lbl'])。每个(函数(i,elt){
$(elt).text(langResources[$(elt).attr(“标题”));
}); 
}
$(文档).ready(函数(){
$(“输入[name='languagebutton'])。单击(函数(){
changeLanguage($(this.val());
});
$(文件)。准备好了吗(
更改语言(“en”);
});

我试图改变我输入文本的标签,因为最初标签名称没有出现,当我使用标签时,标签出现了,但其余内容没有出现


提前感谢您的帮助

我已经检查了你的代码,如果我的实现是正确的,一切看起来都很好,它在FF和IE中工作

我已经更改了数组结构,因为您可以将其全部放在一个数组中,不需要fr、en变量等

jQuery:
function getLanguageResources(){
    return {
        "fr":{
            'greeting':'Salut!',
            'hello':'Hello FR'
        },
        "en":{
            'greeting':'Hi!',
            'hello':'Hello EN'
        }
    }
}
function changeLanguage(lang){
var langResources = getLanguageResources()[lang];

$("span[name='lbl']").each(function(i, elt){
    $(elt).text(langResources[$(elt).attr("caption")]);
});

$("p[name='lbl']").each(function(i, elt){ $(elt).text(langResources[$(elt).attr("caption")]); });
$("a[name='lbl']").each(function(i, elt){ $(elt).text(langResources[$(elt).attr("caption")]); });
}

$(document).ready(function() {

 //When loaded
 $(".tab_content").hide(); //Hide content
 $("ul.tabs li:first").addClass("active").show(); //Show tab one
 $(".tab_content:first").show(); //Show tab one content

 //On Click Event
 $("ul.tabs li").click(function() {

 $("ul.tabs li").removeClass("active"); //Remove any "active"
 $(this).addClass("active"); //Add "active" class to current tab
 $(".tab_content").hide(); //Hide all tab content

 var activeTab = $(this).find("a").attr("href"); //Find the href attribute value to identify the active tab + content
 $(activeTab).fadeIn(); //Fade in the active ID content
return false;
 });


$("input[name='languagebutton']").click(function() {
    changeLanguage($(this).val());
});
changeLanguage("en");
});
以及我创建的HTML:

<ul class="tabs">
<li><a href="#tab1"><span name="lbl" caption="greeting"></span></a></li>
<li><a href="#tab2"><span name="lbl" caption="hello"></span></a></li>
<li><a href="#tab3"><span name="lbl" caption="greeting"></span></a></li>
<li><a href="#tab4"><span name="lbl" caption="hello"></span></a></li>
</ul>

<div class="tab_content" id="tab1">
    tab 1
    <p name="lbl" caption="greeting"></p>
</div>
<div class="tab_content" id="tab2">
    tab 2
    <p name="lbl" caption="hello"></p>
</div>
<div class="tab_content" id="tab3">
    tab 3
    <p name="lbl" caption="greeting"></p>
</div>
<div class="tab_content" id="tab4">
    tab 4
    <p name="lbl" caption="hello"></p>
</div>

<input type="button" name="languagebutton" value="en"/>
<input type="button" name="languagebutton" value="fr"/>
表1

表2

表3

表4

它对我来说很好,你可能应该使用
id
而不是
name
,但它很好用

如果它仍然无法工作,请将html、jquery代码发布到在线的某个地方

干杯


G.

首先,在添加更多细节时更新您的问题;所以这不是一个论坛,答案也不是为了回应其他用户。这对你来说很难做到,因为你没有注册;此帐户基于cookie。注册并标记此问题,我可以将此帐户合并到您的注册帐户中。第二,问具体的问题,而不是“这是一堆乱七八糟的代码,我做错了什么?”如果你想走乱七八糟的代码路线,请访问我们的姐妹网站。