我是Javascript的新手。
我想点击带有Javascript的超链接。
html看起来像这样:
<a id="random563e035c2b9149" class="btn" href="#">Launch PDF editor...</a>
每次刷新页面时ID都会更改,因此我无法使用它。
如何使用javascript点击此超链接?
(如果有帮助,这是这个超链接所在的div:
<div class="visibleifjs" id="yui_3_17_2_2_1446906385088_829"><a id="random563e0a0eede6f9" class="btn" href="#">Launch PDF editor...</a><div class="assignfeedback_editpdf_unsavedchanges warning">Unsaved changes</div></div>
)
enter code here
答案 0 :(得分:0)
每次刷新页面时ID都会更改,因此我无法使用它。
id
似乎以字符串"random"
开头? ,其次是随机整数?
尝试选择a
id
"random"
以class
开头btn
.click()
;在DOM
元素
$("a[id^=random][class=btn]")[0].click()
#include<stdio.h>
typedef struct node
{
struct node *next;
int vertex;
}node;
node *G[20];
int visited[20];
int n;
void read_graph();
void insert(int,int);
void DFS(int);
void main()
{
int i;
read_graph();
//initialised visited to 0
for(i=0;i<n;i++)
visited[i]=0;
DFS(0);
}
void DFS(int i)
{
node *p;
printf("\n%d",i);
p=G[i];
visited[i]=1;
while(p!=NULL)
{
i=p->vertex;
if(!visited[i])
DFS(i);
p=p->next;
}
}
void read_graph()
{
int i,vi,vj,no_of_edges;
printf("Enter number of vertices:");
scanf("%d",&n);
//initialise G[] with a null
for(i=0;i<n;i++)
{
G[i]=NULL;
//read edges and insert them in G[]
printf("Enter number of edges:");
scanf("%d",&no_of_edges);
for(i=0;i<no_of_edges;i++)
{
printf("Enter an edge(u,v):");
scanf("%d%d",&vi,&vj);
insert(vi,vj);
}
}
}
void insert(int vi,int vj)
{
node *p,*q;
//acquire memory for the new node
q=(node*)malloc(sizeof(node));
q->vertex=vj;
q->next=NULL;
//insert the node in the linked list number vi
if(G[vi]==NULL)
G[vi]=q;
else
{
//go to end of the linked list
p=G[vi];
while(p->next!=NULL)
p=p->next;
p->next=q;
}
}
答案 1 :(得分:0)
你可以使用符合它的类:
{{1}}
答案 2 :(得分:0)
如果父div的id保持不变。
$('#yui_3_17_2_2_1446906385088_829 a').click(function(){
//do something
});
答案 3 :(得分:0)
我有一个解决方案,但它很难看......希望有人有更好的主意。
幸运的是,这个页面上只有三个按钮('btn'类),因此我想要推送的按钮很容易找到(但在其他情况下,如果此页面上有一百万个按钮则不会很容易找到合适的......)
在我的情况下,我的按钮是第一个按钮,所以这有效:
document.getElementsByClassName('btn')[0].click();