【问题标题】:jQuery error after setting anchor tag dynamically动态设置锚标记后的jQuery错误
【发布时间】:2016-12-08 17:29:20
【问题描述】:

我正在尝试使用 jquery 设置锚标记的 href 属性,方法是编写以下代码:

 myPage.URL != null ? $pages.find("#myPage").attr("href", myPage.URL.Url) : $pages.find("#myPage").attr("href", "#") ;

其中 myPage 对象包含一个名为 URL 2 属性的对象:Url 和 Description。如果 URL 不为空,那么它肯定会有一个 Url 值。

运行此代码后,我尝试点击链接,但它给出了这个错误:

jquery-1.11.3.min.js:2 未捕获的错误:语法错误,无法识别的表达式:http://yourlink.com(...)

这是myPage对象结构:

 pageType : "publishing",
 pageCategory: null 
 Steps : null
 pageOwner: null 
 audience: "All"
 audienceDescription: "description goes here for the audience"
 Title : "my page title"
 URL : Object
    > Description "any link goes here" 
    > Url "http://google.com"

我做错了什么?

谢谢。

【问题讨论】:

  • 如果在点击链接后出现错误,那么我们需要查看点击事件处理程序的代码。
  • 与我们分享myPage对象结构。
  • 为什么不简化它: $pages.find("#myPage").attr("href", myPage.URL != null ? myPage.URL.Url, "#");这不应该解决问题(我认为这与 myPage.URL.Url 的值有关)但会简化代码。
  • @ZakariaAcharki 我更新了 sn-p 以显示对象结构
  • 你的代码应该可以工作 @Jacky jsfiddle.net/z_acharki/jnwrc5ay/257 (至少张贴在这里)

标签: javascript jquery


【解决方案1】:

您还需要检查您的对象 myPage.URL 是否具有属性 Url 然后分配它:

if( myPage.URL != null )
     if( myPage.URL.hasOwnProperty("Url") )
           $pages.find("#myPage").attr("href", myPage.URL.Url);
     else
           $pages.find("#myPage").attr("href", "#")

希望这会有所帮助。

【讨论】:

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