Выберите родительское содержимое DIV на основе содержащего класса, используя jquery - PullRequest
0 голосов
/ 03 декабря 2018

Я хотел бы очистить содержимое DIV на основе класса в DIV, например, моя страница будет содержать

<html>
  <head></head>
  <body>
    <div>
      <p class="foo">some text</p>
      <p>test1</p>
      <p>test 2</p>
    </div>
  </body>
</html>

Результат будет:

<div>
  <p class="foo">some text</p>
  <p>test1</p>
  <p>test 2</p>
</div>

Я пытался

$.get("https://some.url.com/index.html", function(my_var) {
  console.log($(my_var).closest('div').find('.foo'));  
});

Но просто получить пустой результат?

Ответы [ 2 ]

0 голосов
/ 03 декабря 2018

Для лучшего подхода сначала нужно нацелиться на body, чем найти конкретный класс find('.foo'). Вы можете посмотреть рабочий пример, как показано ниже:

$(document).ready(function(){

$('body').closest('body').find('.foo').css("color", "red")

})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.1/jquery.min.js"></script>
<html>
  <head>
  </head>
  <body>
    <div>
      <p class="foo">some text</p>
      <p>test1</p>
      <p>test 2</p>
    </div>
  </body>
</html>
0 голосов
/ 03 декабря 2018

Сначала вы должны найти .foo, а затем выбрать его родителя, используя .closest()

$.get("https://some.url.com/index.html", function(my_var) {
  console.log($(my_var).find(".foo").closest('div'));  
});

$(".foo").closest("div").css("color", "red");
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<html>
  <head>
  </head>
  <body>
    body
    <div>
      <p class="foo">some text</p>
      <p>test1</p>
      <p>test 2</p>
    </div>
    body
  </body>
</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...