0

親 div を作成し、jquery メソッドを使用して親 div の後に div を挿入しましたinsertAfter()..何が起こるかというと、最初のレコードが一番下に移動し、次のレコードがその上に挿入されます....

これが私の機能です...

function Iteratejsondata(HfJsonValue) {
    var jsonObj = eval('(' + HfJsonValue + ')');
    for (var i = 0, len = jsonObj.Table.length; i < len; ++i) {
        var employee = jsonObj.Table[i];
        $('<div  class="resultsdiv"><br /><span id="EmployeeName" style="font-size:125%;font-weight:bolder;">' + employee.Emp_Name + '</span><span style="font-size:100%;font-weight:bolder;padding-left:100px;">Category&nbsp;:</span>&nbsp;<span>' + employee.Desig_Name + '</span><br /><br /><span id="SalaryBasis" style="font-size:100%;font-weight:bolder;">Salary Basis&nbsp;:</span>&nbsp;<span>' + employee.SalaryBasis + '</span><span style="font-size:100%;font-weight:bolder;padding-left:25px;">Salary&nbsp;:</span>&nbsp;<span>' + employee.FixedSalary + '</span><span style="font-size:100%;font-weight:bolder;padding-left:25px;">Address&nbsp;:</span>&nbsp;<span>' + employee.Address + '</span></div>').insertAfter('#ResultsDiv');
    }
}

そして私の結果は、

代替テキスト http://img265.imageshack.us/img265/7646/divresult.jpg

パラニは私の親divの隣にある必要がありますが、それは一番下にあります...insertAfter() の隣にすべてのレコードを挿入するため#ResultsDiv... 新しく生成されたdivの後に挿入する方法についての提案...

編集: 私が使用したこれらのdivに行の色を追加する方法

 function Iteratejsondata(HfJsonValue) {
 var jsonObj = JSON.parse(HfJsonValue);
 for (var i = jsonObj.Table.length - 1; i >= 0; i--) {
    var employee = jsonObj.Table[i];
    $('<div id="resDiv" class="resultsdiv"><br /><span id="EmployeeName" style="font-size:125%;font-weight:bolder;">' + employee.Emp_Name + '</span><span style="font-size:100%;font-weight:bolder;padding-left:100px;">Category&nbsp;:</span>&nbsp;<span>' + employee.Desig_Name + '</span><br /><br /><span id="SalaryBasis" style="font-size:100%;font-weight:bolder;">Salary Basis&nbsp;:</span>&nbsp;<span>' + employee.SalaryBasis + '</span><span style="font-size:100%;font-weight:bolder;padding-left:25px;">Salary&nbsp;:</span>&nbsp;<span>' + employee.FixedSalary + '</span><span style="font-size:100%;font-weight:bolder;padding-left:25px;">Address&nbsp;:</span>&nbsp;<span>' + employee.Address + '</span></div>').insertAfter('#ResultsDiv');
}
$("#resDiv.resultsdiv:odd").css("background-color", "#F4F4F8");
$("#resDiv.resultsdiv:even").css("background-color", "#EFF1F1");
}

しかし、うまくいきませんでした..

4

2 に答える 2

1

ループを逆にします。

for (var i = jsonObj.Table.length - 1; i >= 0; i--)

備考:使用しないevalでください。代わりにJSON.parseをお勧めします。または、この JSON が ajax 呼び出しからのものである場合、jQuery は自動的にそれをオブジェクトに解析する必要があります。


アップデート:

これらの div に行の色を追加するには、ループの外でこれを試すことができます。

$(".resultsdiv:odd").css("background-color", "#F4F4F8");
$(".resultsdiv:even").css("background-color", "#EFF1F1");
于 2010-03-23T09:05:02.607 に答える
1

親要素のに要素を追加しています:

<div id="ResultsDiv">
</div>
<div class="resultsdiv">...4...</div>
<div class="resultsdiv">...3...</div>
<div class="resultsdiv">...2...</div>
<div class="resultsdiv">...1...</div>

しかし、おそらく親要素に要素を追加したいでしょう:

<div id="ResultsDiv">
  <div class="resultsdiv">...1...</div>
  <div class="resultsdiv">...2...</div>
  <div class="resultsdiv">...3...</div>
  <div class="resultsdiv">...4...</div>
</div>

appendToメソッドの代わりにメソッドを使用しinsertAfterます。

アップデート:

同じ ID を持つ複数の要素を追加していますが、これは正しくありません。クラスを使用して要素をターゲットにするだけです。

$(".resultsdiv:odd").css("background-color", "#F4F4F8");
$(".resultsdiv:even").css("background-color", "#EFF1F1");
于 2010-03-23T09:10:17.173 に答える