【问题标题】:Simple jQuery chain methods throws error简单的 jQuery 链方法抛出错误
【发布时间】:2012-08-08 13:39:37
【问题描述】:

我有一个抛出错误的非常简单的 jQuery 方法链。它应该做的就是用新值(“test.html”)替换“#”。我这样做是因为我正在从数据库中检索一个值并想要更新标记中的特定链接。我已经验证了 href 属性实际上是“#”。但我收到“对象不支持此属性或方法”错误。我正在使用 jquery-1.7.1.min.js。

谁能告诉我这句话有什么问题:

$('a#protoPath').attr('href').html('test.html');

【问题讨论】:

  • 查看文档:api.jquery.com/attr
  • “替换#”是什么意思?在选择器中,井号的含义与锚中的不同。

标签: javascript jquery


【解决方案1】:

.attr('href')返回当前属性内容,而不是另一个jQuery对象,所以不能被链接。

如果你想真正改变它,你需要使用.attr('href', newValue)

如果您只想更改以"#"href 的链接,您也需要更改选择器:

$('a[href="#"]')

【讨论】:

    【解决方案2】:

    您正在尝试在元素属性上设置 HTML 内容,请尝试:

       $('a#protoPath').attr('href', 'test.html');
    

    【讨论】:

      【解决方案3】:

      试试这个:

      $('a#protoPath').attr('href', 'test.html');
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-03-08
        • 2012-09-15
        • 1970-01-01
        相关资源
        最近更新 更多