das*_*man 5 html javascript angularjs
我正在尝试以编程方式单击 html 按钮。
查看页面源代码 - 我明白了
<div class="submitBtns">
<button class="btn btn-primary primaryBtn" type="button">Search</button>
</div>
Run Code Online (Sandbox Code Playgroud)
我不认为这是标准的 html - 也许是一个扩展。
我可以到达按钮对象 - 但调用obj.click()它不起作用。
该文档也有这个标题 - 也许可以识别文档类型 - 还有很多以ng-前缀开头的类名。
<meta http-equiv="X-UA-Compatible" content="IE=edge">
更多信息...这是一个第三方网页,我正在向其中注入 javascript。
我在输入字段中输入了一些内容,然后想模拟按下按钮。
纯 JavaScript。
小智 12
@ViewChild在 Angular 中,我们可以使用&访问任何 HTML 元素ElementRef。我们还必须通过在#要以编程方式访问的 HTML 元素中添加前缀来添加唯一标识符。
在 HTML 中:
<button class="btn btn-primary primaryBtn" #search type="button">Search</button>
Run Code Online (Sandbox Code Playgroud)
在 TS 中:
import { Component, ViewChild, ElementRef } from '@angular/core';
.
.
export class YourComponent{
.
.
@ViewChild('search') search: ElementRef;
.
.
.
. // In your function
this.subContent.nativeElement.click();
}
Run Code Online (Sandbox Code Playgroud)
JavaScript 选项
如果您想使用纯 JavaScript 来执行此操作,您可以向按钮添加一个 ID 并执行以下操作:
document.getElementById("myButton").click();
Run Code Online (Sandbox Code Playgroud)
jQuery 选项
如果我用 jQuery 来做到这一点,我会编写这段代码:
<script>
$(document).ready(function() {
$('.submitBtns button').click();
});
</script>
Run Code Online (Sandbox Code Playgroud)
现在的问题是,如果页面上有多个表单,它将单击使用选择器标识的所有按钮$('.submitBtns button').click();。如果您有权访问代码,则可以向此按钮添加 ID。只需将其更改为:
<script>
$(document).ready(function() {
$('#myButton').click();
});
</script>
Run Code Online (Sandbox Code Playgroud)
If you require to simulate a click to trigger events related to the click, but not actually click the button, you could use $("#myButton").trigger("click");.
| 归档时间: |
|
| 查看次数: |
24070 次 |
| 最近记录: |