Jquery 选择器不使用变量
Jquery selector not working with Variables
我正在尝试在控制台中创建一个脚本来输出聊天用户的昵称。
首先让我们尝试使用复制和粘贴路径来完成:
我们在 chrome 控制台中检查名称并复制其选择器:
acc > div.scrolledPart.ps.ps--theme_default.ps--active-y > div:nth-child(6) > div > ul > li:nth-child(3)
将上述路径赋给变量user3
var user3 =$('#acc > div.scrolledPart.ps.ps--theme_default.ps--active-y > div:nth-child(6) > div > ul > li:nth-child(3)');
在alert中输出用户的昵称
alert("3d user's nick is : " + user3.attr("nick"));
用户名成功出现在警报中。
现在让我们尝试完全相同的步骤,只是这次将路径分配给变量:
检查用户列表并将其分配给 userList 变量。
var userList=[=14=];
检查它是否分配正确,似乎在控制台中打开,所以 userList 是正确的。
将 userList 集合的第三个元素分配给 user3 变量。 (理论上应该是第三个用户)。
var user3=$('userList > li').eq(3);
正在尝试输出用户昵称以提醒:
alert("3d user's nick is : " + user3.attr("nick"));
警报是 "undefined"!!!!
你能帮我弄清楚为什么 "nick" 属性没有正确显示吗?我认为问题出在第 3 步,但如果我们从 Chrome 复制并粘贴选择器,它会起作用,但如果我们尝试从变量做完全相同的事情,它就不起作用。下面是问题的图片。
Screenshot of the problem
这一行:
var user3 = $('userList > li').eq(3);
'userList'
是字符串文字,不是变量。
在这种情况下,要使用变量:
var user3 = userList.find(">li").eq(3)
我正在尝试在控制台中创建一个脚本来输出聊天用户的昵称。
首先让我们尝试使用复制和粘贴路径来完成:
我们在 chrome 控制台中检查名称并复制其选择器:
acc > div.scrolledPart.ps.ps--theme_default.ps--active-y > div:nth-child(6) > div > ul > li:nth-child(3)
将上述路径赋给变量user3
var user3 =$('#acc > div.scrolledPart.ps.ps--theme_default.ps--active-y > div:nth-child(6) > div > ul > li:nth-child(3)');
在alert中输出用户的昵称
alert("3d user's nick is : " + user3.attr("nick"));
用户名成功出现在警报中。
现在让我们尝试完全相同的步骤,只是这次将路径分配给变量:
检查用户列表并将其分配给 userList 变量。
var userList=[=14=];
检查它是否分配正确,似乎在控制台中打开,所以 userList 是正确的。
将 userList 集合的第三个元素分配给 user3 变量。 (理论上应该是第三个用户)。
var user3=$('userList > li').eq(3);
正在尝试输出用户昵称以提醒:
alert("3d user's nick is : " + user3.attr("nick"));
警报是 "undefined"!!!!
你能帮我弄清楚为什么 "nick" 属性没有正确显示吗?我认为问题出在第 3 步,但如果我们从 Chrome 复制并粘贴选择器,它会起作用,但如果我们尝试从变量做完全相同的事情,它就不起作用。下面是问题的图片。
Screenshot of the problem
这一行:
var user3 = $('userList > li').eq(3);
'userList'
是字符串文字,不是变量。
在这种情况下,要使用变量:
var user3 = userList.find(">li").eq(3)