使用JQuery Click Event搜索结果

时间:2014-04-11 23:58:17

标签: php jquery dom

我正在尝试使用jquery点击事件创建搜索结果模板...

if ( $result['template'] == "i1basic" )
    {
         echo "
            <script>$('#{$result['id']}').click(function(){ $('#{$result['id']}').hide(); });</script>
            <div id=\"{$result['id']}\" style=\"width:244px; height:244px; float:left; margin:2px; background-color:#{$result['color']}; background-image:url('system/content/images/{$result['image']}'); background-size:cover;\"></div>
        ";
    }

2 个答案:

答案 0 :(得分:0)

您需要使用on,因为您在向其附加click事件后创建了div,也只需使用$(this)隐藏您点击的元素(只需制作确定你正确地逃避了引号,因为我不是一个php人,所以我使用\来逃避,不知道它是如何在php中)

$('body').on("click", \"#{$result['id']}\", function(){ $(this).hide(); });

或相互切换线条,即将script放在div之后作为@Barmar建议

这是工作FIDDLE

答案 1 :(得分:0)

动态html元素的正确方法实际上是

$(selector).on('click', function() { 
//your code here
});

然而,仔细看看你的代码后,我相信你应该只为div添加一个类,并将css外化。

假设你将.searchResult类添加到div(授予他们的ID),如果你需要他们在click事件上的id,只需通过click函数中的以下代码访问它:

$(this).attr('id')