2015-03-16 5 views
0

У меня есть кнопки с динамически генерируемым текстом внутри. Однако иногда не будет никакого текста, поэтому я хочу скрыть кнопку с помощью jQuery. Однако я не могу заставить его работать.jQuery скрыть кнопки, если они не содержат текст

Ниже мой код:

$('.inner:empty').parent().remove(); 

<button><span class="inner">{{dynamic1}}</span></button> 
<button><span class="inner">{{dynamic2}}</span></button> 
<button><span class="inner">{{dynamic3}}</span></button> 
<button><span class="inner">{{dynamic4}}</span></button> 

Спасибо.

+1

Вы забываете, чтобы обернуть селектор в строковые кавычки ... –

+0

упс они на самом деле были завернуты и все еще не работают. – BtrCSowl

+0

он действительно работает, какая версия jquery вы используете? https://jsfiddle.net/onomLp75/ –

ответ

0

Это удовлетворяет ваши требования. Вам просто нужно использовать кавычки вокруг вашего селектора и вызвать hide вместо удаления. Работает со всеми версиями JQuery, доступных на Google JQuery CDN (1.2.3 - 2.1.1)

$(document).ready(function() { 
 
    // You can replace 'hide' with 'remove' if you want it purged from the DOM. 
 
    $('.inner:empty').parent().hide(); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<button><span class="inner">Hello</span></button> 
 
<button><span class="inner"></span></button> 
 
<button><span class="inner">World</span></button> 
 
<button><span class="inner"></span></button>

+0

Почему 'hide()', а не 'remove()'? – arkascha

+1

OP хотел «спрятать кнопку». Я перехожу к тому, что говорится в вопросе. –

Смежные вопросы