JQuery并在TD Element上找到删除BR

时间:2012-04-10 11:50:51

标签: javascript jquery

我正在尝试找出如何删除具有特定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 onload:

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

更改上面的HTML使它不再是一个表,但“attachmentsOnClient”TD是一个div,上面的javascript工作,但是在TD元素上它失败了。我不确定我是否正确选择它,这只是我第二次涉足JQuery

可以看到jfiddle中的一个例子Here

编辑:如下所述,换行是由于通过jfiddle格式化输入文件块。 JQuery本身确实在工作。

1 个答案:

答案 0 :(得分:1)

您看到这一点的原因是文件上传输入部分由浏览器呈现,但也由操作系统呈现。例如,不同的浏览器会显示它们不同,但不同操作系统(Windows 2000,Windows XP,Mac等)上的相同浏览器将以不同方式显示它们。

这里最好的选择是使用一些自定义样式,使用CSS和CSS的组合,在容器上使用display: inline-block;,在输入上使用position:relative;,然后将其放在您想要的位置。由于您有多个类,因此您可能需要在每个类上放置一个类,以便您能够将它们相对于彼此放置。您可以通过标记或通过jQuery代码添加类属性。

编辑注意:作为您的jQuery IS工作的证明,以下警报(3),然后(0):

alert($('#attachmentsOnClient').find('br').length);
$('#attachmentsOnClient').find('br').remove();
alert($('#attachmentsOnClient').find('br').length);