Reputation: 91
I have a problem. I'm trying to hide div if text is 0. My code is:
<script type="text/javascript">
$(function () {
if ($(".notification-counter").text() == "0") {
$(".notification-counter").hide();
$(".notification-container").hide();
}
});
</script>
<div class="dropdown nav-search pull-right <?php $this->_c('login') ?>">
<a href="../pm/" class="dropdown-toggle"><i class="fa fa-inbox"></i>
<div class="notification-container">
<div class="notification-counter">
<?php
jimport( 'joomla.application.module.helper' );
$module = JModuleHelper::getModule('mod_uddeim_simple_notifier');
echo JModuleHelper::renderModule( $module, $attribs );
?>
</div>
</div>
</a>
</div>
but it's not working... anyone can help? thanks for answers!
Upvotes: 4
Views: 1911
Reputation: 143
Try this: instead of .text() put .html()
$(function() {
if ($(".notification-counter").html() == "0") {
$(".notification-counter").hide();
$(".notification-container").hide();
}
});
Upvotes: 1
Reputation: 21
Just remove the quotes around 0, and it would work fine.
$(function () {
if ($(".notification-counter").text() == 0) {
$(".notification-counter").hide();
$(".notification-container").hide();
}
});
Additional Information: Since many here seem to be unclear, here's a little helper: Try this in your console
//hit F12 to view the console
var counter = $(".notification-counter");
var container = $(".notification-container");
console.log(container.text(), container.html());
console.log(container.text() == 0,container.text() == "0");
//true, false
console.log(typeof 0, typeof "0");
//number, string
Upvotes: 2
Reputation: 7568
Try using parseInt()
to make your comparison a number vs. a number rather than comparing text strings (it alleviates issues with whitespace. JSFIDDLE
$(function () {
if (parseInt($(".notification-counter").text()) == 0) {
//$(".notification-counter").hide();
$(".notification-container").hide();
}
});
Upvotes: 4
Reputation: 11693
Use trim as there are white spaces
$(function () {
if ($.trim($(".notification-counter").text()) == "0") {
$(".notification-counter").hide();
$(".notification-container").hide();
}
});
Upvotes: 3
Reputation: 1898
var notificationCounter = $('.notification-counter');
if (notificationCounter.text().trim() === '0') {
notificationCounter.closest('.notification-container').hide();
}
Upvotes: 1