2017-01-27 31 views
1

对不起,我的英文不好。jquery选择器脚本更新

我创建使用Ajax调用菜单,我唯一的问题是,我不能操作一个jQuery的脚本,我可以在4线riassumente:

var lang='#de'; 
 
$(lang).on("click", function(){ 
 
    if($(this).attr('id')=='de')lang="#en"; 
 
    else lang = "#de"; 
 
    $("#testo").text(lang); \t 
 

 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="button" id="en" value="test en" /> 
 
<input type="button" id="de" value="test de" /> 
 
<div id='testo'></div>

,你可以看到插入的变量代替选择器不更新。我也用各种方式尝试使用准备好的文档,但没有任何内容更新。你可以帮我吗?

回答

1

使用这两种选择IDS deen

var lang = 'de'; 
 
$(".language-sel").on("click", function(){ 
 
    lang = $(this).attr("id"); 
 
    $("#testo").text(lang); \t 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input class="language-sel" type="button" id="en" value="test en" /> 
 
<input class="language-sel" type="button" id="de" value="test de" /> 
 
<div id='testo'></div>

+0

或者使用一个公共类两个按钮,而不是一个ID选择 – empiric

+0

啊,这是更有效,我已经更新了答案。 –

0

即使你可以同class添加到这两个按钮,比类绑定click事件,请在下面找到片断更多信息

var lang='#de'; 
 
$(".clsbtn").on("click", function(){ 
 
    debugger; 
 
    if($(this).attr('id')=='de') 
 
     {lang="#en";} 
 
    else {lang = "#de";} 
 
    $("#testo").text(lang); \t 
 

 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="button" id="en" value="test en" class="clsbtn"/> 
 
<input type="button" id="de" value="test de" class="clsbtn"/> 
 
<div id='testo'></div>

0

您可以通过在jQuery选择器中包含多个逗号分隔的项目来实现您想要的效果,如下所示。

var lang='#de, #en'; 
 

 
$(lang).on("click", function(){ 
 
    if($(this).attr('id')=='de')lang="#en"; 
 
    else lang = "#de"; 
 
    $("#testo").text(lang); \t 
 

 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="button" id="en" value="test en" /> 
 
<input type="button" id="de" value="test de" /> 
 
<div id='testo'></div>