2016-06-27 1 views
-3

からDIVの配列を得る:今Iとして9つのHTMLのdivタグを有するHTML

<div id="1">1</div> 
<div id="2">2</div> 
<div id="3">3</div> 


<div id="9">9</div> 

HTMLに配列することである:(ID)1 2 3 4 5 6 7 8 9

これらのdivことができDOMの順序を取得するために並べ替える必要があります。 DOMはこのようであるスワップ後

言う:(スワッピング/並べ替え後)

<div id="8">8</div> 
<div id="2">2</div> 
<div id="5">5</div> 


<div id="1">1</div> 

次にHTMLのシーケンスである:(ID)8 2 5 3 4 7 9 6 1

私はspan内のdivのオーダー(8 2 5 3 4 7 9 6 1)を取得したいと思います。

<div id="show">Now the sequence is <span id="seq"> </span></div> 
+3

? – Li357

+0

すべてのdivのHTMLコンテンツを読むテキストでそれを追加し、seqのinnerhtml ..に設定しますここで問題は? – Neha

+0

私の悪いスキルのjavascript :( – b0y

答えて

1

のようなもの、あなたが必要とするすべてのdivを取得するための一般的なクラスを使用しません。そして、これは、テキスト(またはID)です取得するeachを使用して文字列を形成し、DOM

HTML

<div id="8" class="sqDiv">8</div> 
<div id="2" class="sqDiv">2</div> 
<div id="5" class="sqDiv">5</div> 
<div id="1" class="sqDiv">1</div> 
<span id="sqDom"></span> 

JS

var _sq=""; 
var getDivs = $(".sqDiv"); 
getDivs.each(function(item,index){ 

_sq+=$(this).text().trim()+' '; 
}) 
$("#sqDom").text(_sq); 

JSFIDDLE

+0

私は.data( 'customAttr'私のカスタム属性、それはうまくいった:) ありがとうユーザー!!!! – b0y

1

使用map()方法と

$('#seq').text(
 
    $('#parent div') // get the swapped divs 
 
    .map(function() { // iterate over them to generate an array 
 
    return this.id // return id for array element 
 
    }).get() // get result as an array 
 
    .join(' ') // join the array element 
 
);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="parent"> 
 
    <div id="8">8</div> 
 
    <div id="2">2</div> 
 
    <div id="5">5</div> 
 
    <div id="1">1</div> 
 
</div> 
 
<div id="show">Now the sequence is <span id="seq"> </span> 
 
</div>

0

に追加します私のやり方:

$("ul div").each(function(){ 
    $("#seq").text($("#seq").text() + $(this).attr("id") + " "); 
}); 

Here is the JSFiddle demo

0

こんにちはこのhttps://plnkr.co/edit/FxemUZMAmEqo2oXvvMXN?p=preview

JS

var IDs2 = []; 
$("#swapping").find("div").each(function(){ IDs2.push(this.id); }); 
$("#seq2").html(IDs2) 

HTML

<div id="swapping"> 
<div id="8">8</div> 
<div id="2">2</div> 
<div id="5">5</div> 
<div id="4">4</div> 
<div id="3">3</div> 
<div id="2">2</div> 
<div id="1">1</div> 
</div> 
<div id="show2">Now the sequence is <span id="seq2"> </span></div> 
0

を試してみてください私は$を使ってそれをしました。各ループ、あなたを止める何

HTMLコード

<div id="8">8</div> 
<div id="2">2</div> 
<div id="5">5</div> 
<div id="1">1</div> 
<div id="show">Now the sequence is <span id="seq"> </span></div> 

のjQuery

var divs=[];var seq=[]; 
divs=$("div"); 
$.each(divs,function(k,v){ 
if($(v).attr('id')!='show') 
{ 
seq[k]=$(v).attr('id'); 
} 
}) 
$('#seq').text(seq); 

Jsfiddle Example

関連する問題