【问题标题】:How to hyperlink the text of a div class using JavaScript?如何使用 JavaScript 超链接 div 类的文本?
【发布时间】:2014-01-15 19:16:34
【问题描述】:

我正在开发一个 HTML 天气应用程序。它从 Yahoo Weather API 收集数据。它可以从 API 中获取详细的 Yahoo 报告链接。 “.city” div 类仅包含一个文本,即在 JavaScript 中使用此代码的城市名称:

$(".city").text(localStorage.typhoon_location || weather.city)

如何使用 JavaScript 向文本添加超链接?我们假设超链接信息被算作weather.link

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:

    您可以添加点击处理程序,如

    //Add data
    $(".city").data("weather-link", weather.link);
    
    //Add click handle
    $(".city").on('click', function(){
        //do something
        window.location.href = $(this).data("weather-link");
    })
    

    编辑

    使用

    $('.city').html(
      '<a href="' + localStorage.typhoon_link + '">' + localStorage.typhoon_location + '</a>'
      || '<a href="' + weather.link + '">' + weather.city + '</a>')
    

    【讨论】:

    • 这使得整个无框架的webkit窗口变成了网站。我已经编写了代码,当单击任何 类时,它将在外部窗口中打开一个链接。如何在城市div类中添加一些
    • @ArchismanPanigrahi,你试过$('.city').html( '&lt;a href="' + localStorage.typhoon_link + '"&gt;' + localStorage.typhoon_location + '&lt;/a&gt;' || '&lt;a href="' + weather.link + '"&gt;' + weather.city + '&lt;/a&gt;')
    • 这行得通,另一个答案有$('.city').text,它不起作用。我有一个问题要问你。我在programmers.stackexchange.com上发布了这个问题,它是从这里迁移过来的。我应该在哪里问与编程相关的问题?
    • @ArchismanPanigrahi,太棒了 :) 在此处发布问题,该网站适用于对概念性问题感兴趣
    【解决方案2】:

    我希望您尽可能减少 DOM 操作:

    $('.city').text(
      '<a href="' + localStorage.typhoon_link + '">' + localStorage.typhoon_location + '</a>'
      || '<a href="' + weather.link + '">' + weather.city + '</a>')
    

    这样您可以控制是否要在选项卡或新窗口中打开它,而不是替换window.location.href...

    【讨论】:

    • 应该是$('.city').html(....),否则所有&lt;a href.......&lt;/a&gt;都会变成文字。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多