PHP函数使用javascript / jquery隐藏div

时间:2012-10-18 09:39:14

标签: php javascript jquery

我有一个php函数:

function myfunc() {

//then I have a div...

echo '<div class="overlay">';
echo "<button onclick=\"$('.overlay').hide();\">Close</button>";
echo '</div>';

}

我的问题是,当我点击关闭按钮时,div没有隐藏。

我在这里做错了什么?

4 个答案:

答案 0 :(得分:5)

避免在php代码的输出中硬编码javascript处理程序和内联事件:改为

echo '<div class="overlay">';
echo "<button>Close</button>";
echo '</div>';

之前在您的页面中插入此代码,该代码使用事件委派

检测您对按钮的点击
<script>
  $(document).on('click', '.overlay button', function() {
      $(this).parent().hide()
  });
</script>

答案 1 :(得分:2)

尝试:

<button onclick="this.parentNode.style.display = 'none'; return false;">Close</button>

答案 2 :(得分:2)

试试这段代码:

function myfunc() {

//then I have a div...

echo '<div class="overlay"  id="overlay" >';
echo "<button onclick=\"hide()\">Close</button>";
echo '</div>';

}
//using the javascript code:
function hide()
{
    document.getElementById("overlay").style.display="none";

}

答案 3 :(得分:0)

尝试:

$('.overlay button').live('click',function(
    $('.overlay').css({'display': 'none'});
));