-1

这可能有助于了解我来自哪里。 jQuery嵌套每个问题

我正在divs使用以下代码添加到页面:

jQuery("#list").append(
    jQuery("<div>")
        .attr("id", "Entry")
        .html(html)
);

html只是一个包含一些文本和锚点的字符串。

我正在尝试为新的 div 设置动画 - 有多个 div 的 id #Entry

这是我的代码:

jQuery("#Entry").hover(function(){  
    jQuery(this)
    .animate({
        width:"50%",
        fontSize: "30px",
        opacity: 0.3,
        borderwidth: "15px"
    }, 500);  
});

以上是我的jQuery(document).ready(function(){ }职能,如果这很重要的话。

4

2 回答 2

1

首先,如果您使用该 id 添加超过 1 个<div>,那么您做错了。id属性应该(必须)在文档中是唯一的。拥有超过 1 个相同的元素id会使 Javascript 变得混乱,因为它不应该发生。这相当于两个拥有相同社会安全号码的人。:) 对于元素组,常见的最佳实践是给它们一个类并以这种方式选择它们。

除此之外,您应该查看live功能,它可以满足您的需求。本质上,当您在准备好的文档上运行一段代码时,它是针对文档的当前状态执行的。换句话说,只有在那个时间点存在的元素(与提供的选择器匹配)才会绑定到您提供的事件。创建该live函数是为了解决这个问题。另一种解决方案是在添加新的 之后再次运行绑定代码<div>,但这不像使用 那样干净live,它支持您需要执行的mouseover和事件。mouseouthover

于 2009-06-17T22:28:01.350 回答
0

live() 支持所有事件,包括最新 jQuery 中的自定义事件...

于 2010-04-06T15:44:40.153 回答