> $current_campaign.ready(function() { If the document is ready, the div is always ready, right?
> if ($('div.detail_campaign_type').text() == 'Coupon') { Is it possible there are some leading or trailing spaces in the text? The spaces actually retained in the text can vary by browser as well.