Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery实时选择器_Jquery_Html - Fatal编程技术网

Jquery实时选择器

Jquery实时选择器,jquery,html,Jquery,Html,我有这样的代码 <div class="panel-footer"> <div class="post-activity"> <i class="loading-icon"></i> <button onclick="ChangeColor(this);">Change Color</button> </div> //Will be code </div>

我有这样的代码

<div class="panel-footer">
    <div class="post-activity">
        <i class="loading-icon"></i>
        <button onclick="ChangeColor(this);">Change Color</button>
    </div>
//Will be code
</div>
<div class="panel-footer">
    <div class="post-activity">
        <i class="loading-icon"></i>
        <button onclick="ChangeColor(this);">Change Color</button>
    </div>
    <div class="comments-ch"></div>
</div>
不工作。因为,
是一个活动/附加/新代码

但是如果我运行这个代码,它就可以工作了

function ChangeColor(element)
 {
     $(element).closest(".panel-footer").find(".post-activity").css("background-color","#CC0000")
 }
b因为在运行应用程序之前存在代码


如何访问附加/实时代码(.ch)?谢谢。

live语法通常如下

$(".selector-class").live('event', function () {
     //do your logic here
}
事件部分可以是单击(元素单击)、向上键控、向下键控等


干杯

我建议您在标记中去掉
onclick
事件处理程序,至少这样可以将标记与javascript分开(有关更多信息,请参阅此)。因此,您的更改按钮应如下所示:

<button id="btnChange">Change Color</button>

您可以将两个函数组合在一个函数中,我保留它只是为了尽可能少地更改代码。这里正在工作。

live的可能副本已被折旧,请先更新该副本,然后查看委托事件您是说要在元素存在之前更改其CSS吗?那是不可能的。如果没有,则只要在调用事件处理程序时元素存在,
ChangeColor
就会工作。单击按钮时是否存在
?我很困惑。
不存在。当可见/追加时,单击按钮。但是ChangeColor方法是存在的。这与OP的问题有什么关系/解决方法?非常好。“如何访问附加/实时代码(.comments ch)?-演示演示了如何执行此操作,并按预期工作。从评论来看,OP似乎在添加新元素之前更改CSS,他希望在添加元素后追溯应用CSS更改。我想这就是这些声明的意思。他似乎已经知道如何添加新元素以及如何选择现有元素。当然,我也可能是错的。据我所知,他就是不能改变元素的颜色,因为在创建函数时,元素还不存在,甚至在动态地将元素添加到DOM之后,函数也不能工作(在给出答案之前,我已经复制了这种行为)。但在OP澄清他的确切意思之前,我们只能猜测。。。
<button id="btnChange">Change Color</button>
$("#btnChange").click(function() {
    ChangeColor(this);
});
function ChangeColor(element)
{
    $(element).closest(".panel-footer").find(".comments-ch").css("background-color","#CC0000");
}