<li>
ページの特定の末尾に div を追加したい。マークアップの構造を変更することはできないので、持っている情報からドリルインする必要があります。まずspan.ruUploadSuccess
、配列内のテキストを含むものを見つけますfileInfo[0]
。
それから 2 つの親を上に移動し、これ<li>
に追加する必要があります。ただし、div が既に存在する場合はこのデータを追加したくないので、その行に既にこの div があるかどうかを確認し ( を使用.has()
)、 を使用して結果からそれらを除外し.not()
ます。
これは、IE7 を除くすべてのブラウザでうまく機能します。IE7 では、追加したい適切な行を見つけますが、既にこの div がある行を除外していません。これにより、同じ div が 2 回 (またはそれ以上) 追加されます。
この特定の要素にアクセスする簡単な方法はありますか? これが IE7 で異なって機能する理由はありますか?
<li>
追加する要素を見つけるための私のコード:
var row = $("span.ruUploadSuccess:contains('" + fileInfo[0] + "')").parent().parent();
$(row).not($(row).has("div.contactUsAttachmentFileSize")).append(label);
これは、私が作業しようとしている構造を示すサンプル マークアップです。
<ul id="content_0_leftcolumn_0_Attachments_RadAsyncUploadListContainer" class="ruInputs">
<li>
<span class="ruFileWrap ruStyled">
<span class="ruUploadProgress ruUploadSuccess">test file (above 5mb).zip</span>
</span>
<input class="ruButton ruRemove" type="button" name="RowRemove" value="Remove" tabindex="-1">
===> DIV GOES HERE <===
</li>
</ul>