我制作了一个书签,它应该突出显示网页上的密码和用户名框。它找到了密码框,并且似乎找到了它前面的文本框,但随后它停止工作。这是我的代码:
<html>
<head>
</head>
<body>
<a href="javascript:var boxes= $(':text, :password');var selectionBox = $(':password'); selectionBox.css('background','red');for(var i = 0; i < boxes.length;i++){alert('loop');if(boxes[i] == selectionBox[0]){alert('Username box found');boxes[i-1].css('background','blue');alert('Success!');}}">Password box highlighter</a>
</body>
我收到一个警告框,多次显示“循环”,然后“找到用户名框”,但随后它在下一行停止工作,并且没有“成功!”警报框。有人知道我做错了什么吗?谢谢。
编辑: 这是展开的代码:
var boxes= $(':text, :password');
var selectionBox = $(':password');
selectionBox.css('background','red');
for(var i = 0; i < boxes.length;i++){
alert('loop');
if(boxes[i] == selectionBox[0]){
alert('Username box found');
boxes[i-1].css('background','blue');
alert('Success!');
}
}
最佳答案
您正在使用 boxes[i-1]
(与使用 .get(i-1)
相同)从 jQuery 获取 DOM 元素收藏。尝试使用 .eq()
:
boxes.eq(i-1).css('background','blue');
演示: http://jsfiddle.net/HsDCs/3/
如果您检查浏览器的控制台,您会发现它提示 css
不是该元素的属性/方法。
引用文献:
.eq()
:http://api.jquery.com/eq/.get()
:http://api.jquery.com/get/
关于javascript - 小书签找不到输入框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16570907/