测试标签的存在

时间:2012-11-02 19:31:21

标签: jquery

我正在测试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中没有文本属性。”但这还不足以让我纠正我的问题。

1 个答案:

答案 0 :(得分:2)

尝试:

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

我认为在您使用中,this.text是DOM对象的text属性。如果你将这个DOM对象包装在jQuery($(this))中,那么它应该有一个.text()方法,让jQuery整理出跨浏览器的东西,然后只返回你想要的文本。