2016-11-21 5 views
0

私は、デフォルトでは、この異なるdivのulラッピングのタブ順序を変更するにはどうすればいいですか?

<div class="first_div"> 
    <ul class="menu"> 
    ... 
    </ul> 
</div> 
<div class="second_div"> 
    <ul class="menu"> 
    ... 
    </ul> 
</div> 

のようなHTML構造タブは最初first div menuに行き、その後、second div menuを持っています。

しかし、私はその順序を変更したいと思います。私はタブが最初のdivメニューと最初のdivメニューに行く必要があります。

私はtabindex="1"を2番目のdivに、tabindex="2"を最初のdivに渡してみましたが、動作しませんでした。

注:html構造は変更できません。

+0

あなたはタブでは、[Tab]キーを押している意味は、 "タブが最初に行く" と言うとき?または、これはjQueryのタブの一種ですか? – Pete

+0

私はその質問を理解しているか分からない。ここにあなたがしようとしていたと思われるものを近似したjsfiddleがあります。私が理解する限り、あなたが望むように働いています。このようなことであなたの質問を更新して、何が起こっているのか、何が起こっているのかを説明できますか? https://jsfiddle.net/ccuo99yn/ – pulekies

+0

はい私はタブキーを意味します – Ahmad

答えて

0

tabindexと思われます。動的に追加して再設定した後でも、tabindexが機能しています。ここで

は抜粋です:

var cnt = 2; 
 

 
function btnAdd_Clicked() { 
 
    cnt++; 
 

 
    document.body.innerHTML += '<div class="div_' + cnt + '"><ul class="menu" tabindex="' + cnt + '">...' + (cnt) + '...</ul></div'; 
 
} 
 

 
function btnReoder_Clicked() { 
 
    var uls = document.querySelectorAll("body>div>ul"); 
 
    for (var i = uls.length - 1; i >= 0; i--) { 
 
    uls[i].setAttribute('tabindex', (cnt - i)); 
 
    } 
 
}
body>div { 
 
    border: 1px solid lightgray; 
 
    padding: 5px; 
 
} 
 
body>div>ul { 
 
    border: 1px solid lightblue; 
 
    margin: 0; 
 
}
<!DOCTYPE html> 
 
<html> 
 

 
<head> 
 
    <meta charset="utf-8"> 
 
    <meta name="viewport" content="width=device-width"> 
 
    <title>JS Bin</title> 
 

 
</head> 
 

 
<body> 
 
    <p> 
 
    <button onclick="btnAdd_Clicked()">Add</button> 
 
    </p> 
 
    <p> 
 
    <button onclick="btnReoder_Clicked()">Reverse tab</button> 
 
    </p> 
 
    <div class="first_div"> 
 
    <ul class="menu" tabindex="2"> 
 
     ....First.. 
 
    </ul> 
 
    </div> 
 
    <div class="second_div"> 
 
    <ul class="menu" tabindex="1"> 
 
     ...Second... 
 
    </ul> 
 
    </div> 
 
</body> 
 

 
</html>

関連する問題