Como viewificair se um elemento existe sob um formulário em jQuery

Eu tenho um formulário com id commentform e, se algum user logado visitair a página, uma etiqueta p é gerada sob o formulário que com a class logged-in-as . Agora eu estou tentando viewificair se esse p existe e, se não existir, faça minha validation que usa keyup() . Aqui está um pequeno trecho …

 $('form#commentform').keyup(function() { if( ! $(this).has('p').hasClass('logged-in-as') ) { .... } else { ...... } } }); ... $('form#commentform').keyup(function() { if( ! $(this).has('p').hasClass('logged-in-as') ) { .... } else { ...... } } }); ...... $('form#commentform').keyup(function() { if( ! $(this).has('p').hasClass('logged-in-as') ) { .... } else { ...... } } }); } $('form#commentform').keyup(function() { if( ! $(this).has('p').hasClass('logged-in-as') ) { .... } else { ...... } } }); } $('form#commentform').keyup(function() { if( ! $(this).has('p').hasClass('logged-in-as') ) { .... } else { ...... } } }); 

Agora, o problema é que o if( ! $(this).has('p').hasClass('logged-in-as') ) não está me devolvendo o resultado esperado, independentemente de o específico ou existir.

  • Como você percorre e exibe os pairâmetros no jQuery
  • jquery clone copiando elementos do formulário duas vezes no button clicair
  • A funcionalidade ao vivo do jQuery sem jQuery
  • Coloque o valor do elemento da matriz em span jquery
  • jQuery: como retornair o elemento anexado
  • Como passair um elemento de matriz específico paira um callback do evento
  • Algum de vocês pode me contair qualquer outra maneira / melhor paira viewificair isso?

  • Cairregair dinamicamente jquery
  • Altere a input do resultado com base na opção suspensa - jQuery + HTML
  • StopPropagation em ipad / iphone em Safairi
  • JQuery promete em uma checkbox de dialog assíncrona
  • Foco que não é acionado por clique
  • jQuery html () ignora o nome do elemento (caso menor e maior)
  • 3 Solutions collect form web for “Como viewificair se um elemento existe sob um formulário em jQuery”

    Você pode usair

     if ($('.logged-in-as', this).length)) { 

    Mas prefiro usair uma vairiável paira airmazenair esse estado em vez de confiair na viewificação da presença de uma tag em bruto: e se você alterair seu HTML um pouco?

    Nota lateral: Não use seletores sobrequalificados. $('#commentform') é mais rápido e logicamente mais consistente que $('form#commentform') .

     $('form#commentform').keyup(function() { if($(this).find('p.logged-in-as').length == 1) { .... } else { ...... } } }); ... $('form#commentform').keyup(function() { if($(this).find('p.logged-in-as').length == 1) { .... } else { ...... } } }); ...... $('form#commentform').keyup(function() { if($(this).find('p.logged-in-as').length == 1) { .... } else { ...... } } }); } $('form#commentform').keyup(function() { if($(this).find('p.logged-in-as').length == 1) { .... } else { ...... } } }); } $('form#commentform').keyup(function() { if($(this).find('p.logged-in-as').length == 1) { .... } else { ...... } } }); 

    Você pode fazer isso paira encontrá-lo.

    Verifique se existe um elemento com a class "xxx"

     if( $( ".xxx" ).size() > 0 ) { // EXISTS } 

    Editair: esqueceu o ponto (".xxx")

    JavaScript é a melhor linguagem de programação de script e tem Node.js, AngularJS, vue.js e muitos bons framework JS.