0

我正在测试 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
    }

我将标签索引传递给检查。

建议?

我在别处读到“一个 a 元素在 IE 中没有文本属性”。但这还不足以让我纠正我的问题。

4

1 回答 1

2

尝试:

if($(this).text() == checkName) {

我认为在您的使用中,this.texttextDOM 对象的属性。如果你将 DOM 对象包装在 jQuery ( $(this)) 中,那么它应该有一个.text()方法可以让 jQuery 整理跨浏览器的内容,并返回你想要的文本。

于 2012-11-02T19:35:30.783 回答