Bookmarklet不会更改文本框中的文本

时间:2013-06-24 07:19:00

标签: javascript jquery bookmarklet

我创建了此书签以突出显示页面上的用户名和密码框。我可以更改框的颜色,但是如果我尝试更改框中的文本,它就不起作用:

<a href="javascript:void(var boxes= $(':text, :password');var selectionBox = $(':password');selectionBox.val('password');for(var i = 0; i < boxes.length;i++){if(boxes[i] == selectionBox[0]){boxes.eq(i-1).val('login');}})">Password box highlighter</a>

我尝试了.text = ''.value = ''.val('')

感谢。

1 个答案:

答案 0 :(得分:2)

将代码包装执行到函数调用中:

<a href="javascript:void(function(){var boxes= $(':text, :password');var selectionBox = $(':password');selectionBox.val('password');for(var i = 0; i < boxes.length;i++){if(boxes[i] == selectionBox[0]){boxes.eq(i-1).val('login');}}}())">Password box highlighter</a>

说明:void需要一个表达式(只有1个表达式)。

An expression is any valid unit of code that resolves to a value

您的代码已经破坏了第一个var-keyword,因为声明变量不是表达式。

当您将代码包装到函数调用中时,无论在函数内部执行哪个代码,表达式都是函数调用本身。