Исключить div из селектора CSS - PullRequest
0 голосов
/ 03 ноября 2018

Я пытаюсь выделить только текст, который не находится внутри элемента div. В этом случае я хочу исключить div с классом bbCodeBlock. Как я могу это сделать? Идея состоит в том, чтобы исключить цитату.

демо

<li id="post-6062713">
  <div class="uix_message ">
    <div class="messageInfo">
      <div class="messageContent">
        <article>
          <blockquote class="messageText SelectQuoteContainer">
            <div class="bbCodeBlock bbCodeQuote">
              <aside>
                <div class="attribution type">user said:
                  <a href="#" class="AttributionLink">↑</a>
                </div>
                <blockquote class="quoteContainer">
                  <div class="quote">text to ignore</div>
                </blockquote>
              </aside>
            </div>
            text to change color
            <br>
            <br>
            <br>
            <br>
            <div class="bbCodeBlock bbCodeQuote">
              <aside>
                <div class="attribution type">user said:
                  <a href="#" class="AttributionLink">↑</a>
                </div>
                <blockquote class="quoteContainer">
                  <div class="quote">text to ignore</div>
                </blockquote>
              </aside>
            </div>
            text to change color
            <div class="messageTextEndMarker">&nbsp;</div>
          </blockquote>
        </article>
      </div>
    </div>
  </div>
</li>

Это базовая демонстрация, которую можно скопировать с помощью scrappy, потому что мне нужно исключить кавычки, поэтому я ищу однострочный селектор для применения к чему-то вроде

'text': quote.css('article blockquote').extract()

1 Ответ

0 голосов
/ 03 ноября 2018

ИЗМЕНЕНО после комментария:

Я только что понял, что контент, на который вы хотите повлиять, не внутри a div, но на том же уровне, что и div с классом .bbCodeBlock, то есть прямым содержимым blockquote элемент.

Поэтому вам нужно использовать два селектора / правила, один для установки цвета для blockquote, другой для исключения тех дочерних элементов div blockquote, которые имеют класс .bbCodeBlock:

article blockquote {
  color: red;
}
article blockquote div:not(.bbCodeBlock) {
  color: initial;
}
<li id="post-6062713">
  <div class="uix_message ">
    <div class="messageInfo">
      <div class="messageContent">
        <article>
          <blockquote class="messageText SelectQuoteContainer">
            <div class="bbCodeBlock bbCodeQuote">
              <aside>
                <div class="attribution type">user said:
                  <a href="#" class="AttributionLink">↑</a>
                </div>
                <blockquote class="quoteContainer">
                  <div class="quote">text to ignore</div>
                </blockquote>
              </aside>
            </div>
            text to change color
            <br>
            <br>
            <br>
            <br>
            <div class="bbCodeBlock bbCodeQuote">
              <aside>
                <div class="attribution type">user said:
                  <a href="#" class="AttributionLink">↑</a>
                </div>
                <blockquote class="quoteContainer">
                  <div class="quote">text to ignore</div>
                </blockquote>
              </aside>
            </div>
            text to change color
            <div class="messageTextEndMarker">&nbsp;</div>
          </blockquote>
        </article>
      </div>
    </div>
  </div>
</li>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...