获取第二个元素的id

S S*_*S S 2 jquery

我有这样的表结构

<tr>
<td>Cover Banner</td>
<td><div id="coverPreview"></div></td>
<td><input type='file' id="coverBanner"/></td>
</tr>
Run Code Online (Sandbox Code Playgroud)

我想要做的是当我点击文件浏览按钮时,我必须得到之前的ID,即"coverPreview"

我确实喜欢这个

$(this).closest('tr').children(':first-child').next().attr("id")
Run Code Online (Sandbox Code Playgroud)

我得到的结果是未定义的.任何人都可以帮助我.

Ror*_*san 5

尝试获取closest('td')和使用prev(),并find()从那里.试试这个:

var divId = $(this).closest('td').prev().find('div').prop('id');
Run Code Online (Sandbox Code Playgroud)

$('input').change(function() {
  var divId = $(this).closest('td').prev().find('div').prop('id');
  console.log(divId);
});
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
  <tr>
    <td>Cover Banner</td>
    <td>
      <div id="coverPreview"></div>
    </td>
    <td>
      <input type="file" id="coverBanner" />
    </td>
  </tr>
</table>
Run Code Online (Sandbox Code Playgroud)