2017-01-27 34 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>