2

特定の ID を持つ特定の TD 要素の下にある BR タグを削除する方法を見つけようとしています。これまでのところ、私は成功していません。jfiddle を介したコード例を次に示します。

HTML:

<br>
<table border='1'>
 <tr>
  <td id="attachmentsOnClient">
   <span dir="ltr">
    <input id="ontidIOFile" type="file" />
    <br>
   </span>
   <input id="fileupload1" type="file" />
   <br>
   <input id="fileupload2" type="file" />
   <br>
  </td>
  <td>
    Leave <br> This <br> Alone <br> Here
  </td>
 </tr>
</table>

Javascript オンロード:

$('#attachmentsOnClient').find('br').remove();​

</p>

上記の HTML をテーブルではなく、「attachmentsOnClient」TD が div になるように変更すると、上記の JavaScript は機能しますが、TD 要素では失敗します。正しく選択しているかどうかはわかりませんが、これは JQuery への 2 回目の進出に過ぎません。

jfiddle の例は、ここで見ることができます。

編集: 以下で説明するように、改行は jfiddle による入力ファイル ブロックの書式設定によるものです。JQuery自体は実際に機能しています。

4

1 に答える 1

1

これが表示される理由は、ファイル アップロードの入力がブラウザによって部分的にレンダリングされるだけでなく、オペレーティング システムによってもレンダリングされるためです。たとえば、ブラウザが異なれば表示も異なりますが、オペレーティング システム (Windows 2000、Windows XP、Mac など) が異なると同じブラウザでも表示が異なります。

ここでの最善の策は、CSS を使用してカスタム スタイルを使用display: inline-block;し、コンテナで使用する CSS とposition:relative;入力で使用する CSS を組み合わせて使用​​し、好きな場所に配置することです。また、複数あるため、それぞれにクラスを配置して、それらを相互に相対的に配置できるようにする必要がある場合もあります。たとえば、マークアップまたは jQuery コードを使用して、クラス属性を追加できます。

編集注: jQuery が機能していることの証拠として、次のアラート (3)、次に (0):

alert($('#attachmentsOnClient').find('br').length);
$('#attachmentsOnClient').find('br').remove();
alert($('#attachmentsOnClient').find('br').length);
于 2012-04-10T12:36:08.413 に答える