TRUE или FALSE возврата jQuery, если отделение содержит <p> тег

Это возможно с помощью триггера перед обновлением. В этом триггере вы можете сравнить старые с новыми значениями и отменить обновление, если они не отличаются. Но это приведет к ошибке на сайте вызывающего абонента.
Я не знаю, почему вы хотите это сделать, но здесь есть несколько возможностей:

  1. Производительность: здесь нет прироста производительности, потому что обновление не только должно найти правильную строку, но и дополнительно сравните данные.
  2. Триггер: если вы хотите, чтобы триггер срабатывал только при наличии реальных изменений, вам нужно реализовать свой триггер так, чтобы он сравнивал все старые значения с новыми, прежде чем что-либо делать.
6
задан Oliver N. 8 June 2009 в 14:39
поделиться

5 ответов

$("div:has(p)").addClass("has-paragraph");

will add a class to all divs that contain p children. If the paragraphs aren't direct children, this won't pick them up.

Note: doing this:

$("div p").addClass("has-paragraph");

will add the class to the paragraph not the div. You can fix that by doing this:

$("div p").parents("div").addClass("has-paragraph");

but this will catch multiple div ancestors. You could do this:

$("div p").parents("div:first").addClass("has-paragraph");

to fix that.

Or more programmatically:

$("div").each(function() {
  if ($(this).find("p").length > 0) {
    // do stuff
  }
});
17
ответ дан 8 December 2019 в 04:31
поделиться

Дайте вашему div идентификатор, затем:

if($('#myDiv p').length) {
    alert('I have a paragraph');
}
5
ответ дан 8 December 2019 в 04:31
поделиться
var result = ($('div p').size() > 0);

или

var result = ($('div p').length > 0);

Это захватит любой p внутри любого div . Это в основном то, что есть у @ karim79.

2
ответ дан 8 December 2019 в 04:31
поделиться

Могу поспорить:

$("div").each(function(){
    if ($(this).children('p').length>0){
        // do stuff, assign boolean if you want
    }
});

Я предполагал, что вы ищете прямых детей. Если нет, используйте

if ($(':has(p)',this).length>0) ...
1
ответ дан 8 December 2019 в 04:31
поделиться

Не знаете, как вы хотите хранить свою информацию, но следующий код соберет все теги div, содержащие ap tag.

$("div:has(p)").each( function () {
    # Store what you need here
});

Если у вас есть конкретный div, который вы хотите протестировать, следующее должно работать на основе «правдивого» значения. Я уверен, что кто-нибудь может получить точное значение истинного или ложного с помощью некоторых хитроумных средств.

if ( $("#divId:has(p)") ) {
    # Do what you need here
}
0
ответ дан 8 December 2019 в 04:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: