这个例子中的domEle是什么?我可以在jQuery.com中看到一个解释--jQuery.each(集合,回调(indexInArray,valueOfElement)),但仍然很难理解什么是“valueOfElement”?任何人都可以为我清楚一点吗?
$("button").click(function () {
$("div").each(function (index, domEle) {
$(domEle).css("backgroundColor", "yellow");
if ($(this).is("#stop")) {
$("span").text("Stopped at div index #" + index);
return false;
}
});
});
如果我这样写:$("input[name='newsletter']").next().text(" is newsletter");
jquery将只找到完全匹配,如果我这样写:$("input[name$='newsletter']").next().text(" is newsletter");
jquery将找到完全匹配,并让我们说出“newsletters”的价值
作者使用此代码:
$(document).mouseup(function(e) {
if($(e.target).parent("a.signin").length==0) {
$(".signin").removeClass("menu-open");
$("fieldset#signin_menu").hide();
}
});
在用户按下文档上的任何其他位置时隐藏下拉列表。任何人都可以评论这一行if($(e.target).parent("a.signin").length==0) {
因为我不完全理解我们在这里做了什么。原文如下:http://aext.net/2009/08/perfect-sign-in-dropdown-box-likes-twitter-with-jquery/
我应该注意的默认方法调用?
在其中一个教程中,我发现了这样的评论:
“最后,如果我们在CSS中没有包含边距,CSS方法调用的结果是auto,它将无法正确解析,因此我们需要将数字”auto“替换为数字0”
var top = $('#comment').offset().top - parseFloat($('#comment').css('marginTop').replace(/auto/,0));
任何人都可以对此发表评论,因为我不完全明白他在这里做了什么。
此处的原创文章:http://jqueryfordesigners.com/fixed-floating-elements/
答案 0 :(得分:1)
1)它是迭代元素 - 当前由each
处理的元素。它会自动转发给回调。 (我不喜欢这个模型;我个人更喜欢在$(this)
回调中使用each
。
2)第一个找到name
属性正好为newsletter
的元素,而后者找到name
属性以 {{1}结尾的元素}}。 newsletter
的使用是从正则表达式语法借用的。 (正则表达式是一个完全独立的主题)。
3)这是一个事件委托的例子(虽然不是很好的一个 - jQuery可以比这个例子显示的更有效地处理它)。事件委托绝对值得关注。
你提到的那一行会询问事件的触发元素 - 触发事件的元素 - 并根据条件检查它的父元素。
4)我甚至不会在这一点上花费任何精力 - 它非常不标准并且针对特定用例进行了本地化。
答案 1 :(得分:0)
1。)$(“div”)将选择页面上的每个div。每个都将迭代所有这些div。对于每次迭代,domEle将是对循环当前迭代的div的引用。
2。)^ =是你要找的东西,^ =搜索以给定字符串开头的所有内容。 $ =使用给定字符串搜索所有结尾:http://api.jquery.com/category/selectors/
3。)e.target是用户点击的地方。 .parent(“a.signin”)。length == 0如果是带有类.signin的锚,则选择父级。检查长度等于零等于询问是否选择了任何内容。所以基本上如果用户没有在类登录的锚点内点击,那么就做点什么。
4。)$('#comment')。offset()。top从#comment元素的顶部获取偏移量。 parseFloat($('#comment')。css('marginTop')。replace(/ auto /,0))从元素顶部获取边距。如果保证金设置为“自动”,则认为保证金为0. Parsefloat确保将其作为数字处理,然后从顶部偏移量中减去。这是自定义代码,而不是您经常使用/需要的代码。