我是Java语言的新手,尽管我不了解我的代码中使用$()
的方法,但我目前正在尝试理解一段代码。我的问题可能很愚蠢,很抱歉。
更多详细信息:
有一个名为p_Element
的对象,它具有两个属性(目标和菜单)。然后,有这行:
let l_Element = $(p_Element.target);
我尝试用替换它:
let l_Element = p_Element.target;
,但脚本似乎没有执行。
所以这是我的问题:这两行之间有什么区别? $(p_Element.target)
返回什么?
如果您需要更多详细信息,这是我想要理解的一段代码:
var l_Targets = [
{target: "#pve", menu: ".pve"},
{target: "#tutorial", menu: ".tutorial"},
{target: "#donation_home", menu: ".donation"},
{target: "#register", menu: ".register"},
{target: "#account_top", menu: ".team"},
{target: "#races", menu: ".races"}
];
var l_Infos = {};
l_Targets.forEach(function(p_Element)
{
let l_Element = $(p_Element.target); // Please explain me this line
if (l_Element.length === 0 || l_Element.length > 1)
return;
let l_Top = parseInt(l_Element.offset().top);
let l_Bottom = parseInt(l_Element.offset().top + l_Element.height());
l_Infos[p_Element.target] = {
top: l_Top,
bottom: l_Bottom,
menu: p_Element.menu
};
});
我不拥有此脚本,它来自这里:https://naicaonline.com/assets/js/home/navbar.js?v=0.08
答案 0 :(得分:3)
#Redirect for CORS Preflight request
RewriteCond %{REQUEST_METHOD} OPTIONS
RewriteRule ^(.*)$ $1 [R=200,L]
#Set headers to access CORS Requests / allowing localhost only
Header always add Access-Control-Allow-Origin "*"
Header always add Access-Control-Allow-Headers "origin, x-requested-with, content-type"
Header always add Access-Control-Allow-Methods "PUT, GET, POST, DELETE, OPTIONS"
是函数的名称。 $
调用该函数。
这不是JavaScript内置的东西。原则上,您可以定义自己的变量或函数并将其命名为$(...)
,但实际上,它可能是jQuery提供的变量或函数。简介,请参见this link。
答案 1 :(得分:1)
这称为 jQuery选择器,这是您使用的特定选择器的工作方式:
let l_Element = $(p_Element.target);
它将块范围变量l_Element
分配给$(p_Element.target)
。 p_Element
是forEach
循环中使用的当前项目,而.target
是target
的{{1}}属性。查看数组p_Element
-这是数组上的每次迭代将使l_Targets
等于:
l_Element
var l_Targets = [
{target: "#pve", menu: ".pve"},
{target: "#tutorial", menu: ".tutorial"},
{target: "#donation_home", menu: ".donation"},
{target: "#register", menu: ".register"},
{target: "#account_top", menu: ".team"},
{target: "#races", menu: ".races"}
];
的每个值都将根据当前迭代而变化。值将是这样:
l_Element
了解有关jQuery here的更多信息。
答案 2 :(得分:0)
let l_Element = $(p_Element.target); // This returns a JQuery Object.
这等于document.getElementById(p_Element.target); //but you need to remove # because in JQuery # this char is used to select dom elements by ID and . is used to select dom elements by class
JQuery使本地JS命令简短易用。