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

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 回答