在特定元素后找到Div

时间:2017-08-29 19:59:24

标签: jquery element next

我能够使用.class textimage-text获取元素内的所有HTML。这很好用。然后我需要抓住下面Div中的html,它没有id或类..

实施例

<div class="textimage-text">
  <p>Some Text goes here</p>
</div>
<br>
<div>
  <p>Some additional Text goes here</p>
</div>

$.get(item.url, function (html) {

  var body = $(html).find(".textimage-text").html(); // <- this works
  var more= $(html).find(".textimage-text").next("div").html(); // <- this does not work

2 个答案:

答案 0 :(得分:4)

使用常规同级选择器~(例如:~ div找到下一个div,这是一个兄弟姐妹)

$(html).find(".textimage-text ~ div").html();

$('.textimage-text ~ div').html()
  

一般兄弟选择器

     

一般兄弟组合子(〜)将两个选择器分开,只有当它跟在第一个元素后面时才匹配第二个元素(虽然不一定是立即的),并且两者都是同一父元素的子元素。

示例:

&#13;
&#13;
console.log($('body').find('.textimage-text').html());
console.log($('body').find('.textimage-text ~ div').html());

console.log($('.textimage-text').html());
console.log($('.textimage-text ~ div').html());
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="textimage-text">
  <p>Some Text goes here</p>
</div>
<br>
<div>
  <p>Some additional Text goes here</p>
</div>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

添加额外的 .next()并删除下一个功能中的“div”参数,目前您正在选择 br

var more= $(html).find(".textimage-text").next().next().html()