javascript - 小书签不更改文本框中的文本

标签 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('')

谢谢。

最佳答案

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

<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 关键字而中断,因为声明变量不是表达式。

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

关于javascript - 小书签不更改文本框中的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17269966/

相关文章:

javascript - 如何将路由从浏览器发送到另一台设备?

javascript - jQuery ajax 返回readyState 1或不正确的数据类型

c# - 部分回发后 jQuery 不工作

javascript - JSLint 和书签

javascript - 将 Backbone 与 Nodejs 集成

javascript - Angular2 CanActivate 守卫除一条路线外的所有路线

javascript - 为什么我无法更改幻灯片导航栏背景的宽度?

javascript - 用 Javascript 替换 URL 的各个部分

jquery 表单插件 noConflict 问题

javascript - 在异步函数中使用await关键字与省略它有什么区别?