我正在测试jQuery中是否存在动态标签。如果存在,请选择它,如果不存在,则创建它。
这在FF,Chrome等中100%有效。我是jQuery的新手,所以我很难让IE 8+兼容。
// Does the tab already exist?
var checkName = satrk;
var tabExists = false;
$('#tabs ul li a').each(function(i) {
if(this.text == checkName) {
tabExists = true;
}
});
// React to existance:
if(!tabExists){
$("#tabs").tabs("add","details.cfm?satrk="+satrk,satrk);
$("#tabs").tabs("select", satrk); // select tab by index
}else{
$("#tabs").tabs("select", satrk); // select tab by index
}
我将标签索引传递给支票。
建议?
我在其他地方读过“一个元素在IE中没有文本属性。”但这还不足以让我纠正我的问题。
答案 0 :(得分:2)
尝试:
if($(this).text() == checkName) {
我认为在您使用中,this.text
是DOM对象的text
属性。如果你将这个DOM对象包装在jQuery($(this)
)中,那么它应该有一个.text()
方法,让jQuery整理出跨浏览器的东西,然后只返回你想要的文本。