jQuery - 如何使用id = a URL检查子项是否存在?

时间:2015-11-05 19:43:33

标签: jquery html dom

我(我很确定)必须使用jQuery作为我正在尝试创建的页面的一部分,这基本上是我第一天做jQuery。

对于以下if / else,我首先尝试检查id等于变量<div>的{​​{1}}是否存在。如果存在,它会将文本写入div。如果该元素不存在,url将创建一个包含else属性的新div和包含相同响应的文本,并将其附加到与其关联的id标记。< / p>

<a href>

如果我让这个声音混乱,这里可以直观地展示我想要在HTML DOM中发生的事情。

Function() {
    ...
    ...
    ...
    if (xhr.readyState == 4 && xhr.status == 200) {
        if ($("div#"+url+"").length) {
            document.getElementById(url).innerHTML = xhr.responseText;
        }
        else {
            $("a[href='" + link + "']").append(
                $("<div></div>", {
                    "id": url,
                    "text": xhr.responseText
                    }
                )
            );
        }
    }
    ...
    ...
}

点击链接后。

<a href="http://foo.com" onclick="Function('url')">Foo</a>

我在控制台中遇到的错误是 错误:语法错误,无法识别的表达式:div#http%3A%2F%2Fwww.foo.com 因为它说它是语法错误,我知道我必须使用.length错误,但<a href="http://foo.com" onclick="Function('url')">Foo</a><div id="http://foo.com">xhr.responseText</div> 的选择器是id所以我不明白错误在哪里。我已经在SO和http://api.jquery.com/length/上进行了一系列侦察,以获取jquery语法,用于检查子进程是否存在,并且我尝试使用一些逻辑运算符,但在if语句中总是出现相同的错误。我也尝试使用encodeURIComponent(url),以防它不喜欢URL中的某些字符,但也没有修复它。

1 个答案:

答案 0 :(得分:2)

你的问题让我感到困惑,但如果你想查看页面上是否存在id,请试试这个

if($('#youId').length){//the object exists}