Создание кнопки не появляется, если в div появляется метка aria - PullRequest
0 голосов
/ 01 мая 2020

В этом выражении else я пытаюсь сказать, что если в элементе uCW есть aria-label со значением «Комментарий», не добавляйте кнопку. В противном случае добавьте кнопку. Ничего не появляется.

        else {
            if ($(uCW).find([aria-label=="Comment"]))
                {rollback}
            else
                {more.before(button);}
            }

Это aria-label Я пытаюсь НЕ добавлять кнопки (это внутри uCW и внутри большого количества элементов)

<div class="l9j0dhe7 ecm0bbzt hv4rvrfc qt6c0cv9 dati1w0a lzcic4wl btwxx1t3 j83agx80" aria-label="Comment" role="article" tabindex="-1">

Ответы [ 3 ]

0 голосов
/ 01 мая 2020

Вы используете == вместо = на селекторе. Также вы должны добавить кавычки в ваших селекторах поиска. Вы можете сделать следующее в Jquery:

$('.your-div').find('[aria-label="Comment"]');

Затем вы можете проверить, были ли они найдены, используя:

if ($('.your-div').find('[aria-label="Comment"]').length > 0) {
  // aria label = Comment found
} else {
  // ...
};

Если вы назначите это условие const, ваш код может быть более семанти c:

const ariaLabelComment = $('.your-div').find('[aria-label="Comment"]').length > 0;

if (ariaLabelComment) {
  // aria label = Comment found
} else {
  // ...
};

в чистом javasript

const uCW = document.querySelector('.your-ucw-div-selector');

const ariaLabelComment = uCw.querySelectorAll('[aria-label="Comment"]').length > 0;

if (ariaLabelComment) {
  // found
} else {
  // ...
}
0 голосов
/ 01 мая 2020

Вы можете проверить, внутри uCW есть комментарий метки как

var exist = $(".uCW [aria-label='Comment']").length;
    if( exist == 0 )
    {
      $(".uCW").append("<button>Test</button>");
    }

var exist = $(".uCW [aria-label='Comment']").length;
if( exist == 0 )
{
  $(".uCW").append("<button>Test</button>");
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="uCW">
<div class="l9j0dhe7 ecm0bbzt hv4rvrfc qt6c0cv9 dati1w0a lzcic4wl btwxx1t3 j83agx80" aria-label="Comment" role="article" tabindex="-1">
</div>
0 голосов
/ 01 мая 2020

Вы должны получить доступ к атрибуту, используя string. Вот так $("[meta-tag='value']");

Я исправлю свой ответ, когда вы отправите код, который будет более точным c. :)

const aria = $("[aria-label='Comment']");

console.log(aria);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="l9j0dhe7 ecm0bbzt hv4rvrfc qt6c0cv9 dati1w0a lzcic4wl btwxx1t3 j83agx80" aria-label="Comment" role="article" tabindex="-1">
</div>

<div class="not"></div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...