查找a元素的方法有很对,可以通过ID或者class,但如果这两个条件都不具备的话,难道就没有方法了吗?NO,通过url也是可以做到的,下面有个不错的示例,大家可以感受下
举例说明之前的一个项目:添加学生的时候,没有班级数据。需要自动跳转到班级展示页面。
问题:学生,班级等数据 是放到iframe里面的jsp. 学生管理的按钮是在main.html上的菜单栏中。
解决方法:
通过id查找父窗体的 班级管理<a>标签,并点击
代码如下:
$(window.parent.document).find("#folder_12").click();
后来菜单栏换成动态的了,菜单id自然也就是动态的了。
想要的是通过 url获取<a>,并点击。
代码如下:
<a id="folder_14" onClick="removeTopMenuCss();switchFolder(this.id);changeContent('classManager/classList.do',this);" onFocus="this.blur()" href="javascript:void(0);" target="mainFrame">班级管理</a>
要获取的就是 onClick方法的 changeContent(‘url参数')
直接看代码:
代码如下:
//console.info( $(window.parent.document).find("a") );
$(window.parent.document).find("#OutFolder a").each(function (index, domEle) {
//var s = $(domEle).attr("onclick")+"";
//var start = s.indexOf (''classManager/classList.do');
var str = domEle.attributes.onclick.value;//利用js获取onclick属性值,搜索url
var start = str.indexOf (''classManager/classList.do');
if(start>0){
$(domEle).click();
}
});
总结:原来一直使用jquery找方法,获取onclick属性,用indexOf总报错,加上"" 空格转化为string就行了