js 获取某个元素的上一个兄弟元素
时间: 2023-07-13 14:28:53 浏览: 60
可以使用 JavaScript 中的 `previousSibling` 属性来获取某个元素的上一个兄弟元素,但该属性会把空白符也算作兄弟元素,需要注意。如果要获取上一个非空白符兄弟元素,可以使用 `previousElementSibling` 属性。
例如,假设 HTML 代码如下:
```html
<div class="wrapper">
<h1>标题1</h1>
<p>段落1</p>
<p>段落2</p>
<h2>标题2</h2>
</div>
```
如果要获取第二个段落元素的上一个兄弟元素,可以使用以下代码:
```javascript
const paragraph2 = document.querySelector('.wrapper').querySelectorAll('p')[1];
const previousSibling = paragraph2.previousElementSibling;
console.log(previousSibling);
```
上述代码中,`querySelector` 方法用于获取包含段落元素的父元素 `.wrapper`,`querySelectorAll` 方法用于获取所有的段落元素,并从中选取第二个元素。最后,使用 `previousElementSibling` 属性获取第二个段落元素的上一个兄弟元素,即第一个段落元素。
相关问题
js 获取指定兄弟元素
如果要获取指定的某个兄弟元素,可以借助 `previousSibling` 和 `nextSibling` 属性以及 `nodeName` 属性来筛选出需要的元素。
例如,如果要获取元素 `element` 的前一个同级元素中的第一个 `div` 元素,可以使用如下代码:
```javascript
var sibling = element.previousSibling;
while (sibling) {
if (sibling.nodeType === 1 && sibling.nodeName.toLowerCase() === 'div') {
// 找到了符合条件的元素,进行处理
console.log(sibling);
break;
}
sibling = sibling.previousSibling;
}
```
代码中使用了一个 `while` 循环来遍历 `element` 的前一个同级元素列表,通过判断节点类型和节点名称来筛选出需要的元素。如果找到了符合条件的元素,则进行相应的处理,否则继续往前遍历。如果要获取后一个同级元素中的指定元素,可以将 `previousSibling` 替换为 `nextSibling`,并且改变判断条件即可。
jquery 获取所点击项目的某个兄弟元素
要使用 jQuery 获取被点击的项目的某个兄弟元素,你可以使用 jQuery 的 `siblings()` 方法。下面是一个示例代码:
HTML部分:
```html
<ul id="myList">
<li>项目1 <span class="info">信息1</span></li>
<li>项目2 <span class="info">信息2</span></li>
<li>项目3 <span class="info">信息3</span></li>
</ul>
```
JavaScript部分:
```javascript
$(document).ready(function() {
$('#myList li').click(function() {
var siblingText = $(this).siblings('.info').text();
console.log(siblingText);
});
});
```
这段代码会在点击列表项 (`<li>`) 时获取对应的兄弟元素 (`<span class="info">`) 的文本内容,并将其输出到控制台。你可以根据需要修改选取的兄弟元素的选择器和处理逻辑。