如何在href中使用js中的值?

时间:2016-04-27 17:44:30

标签: javascript jquery html href

如何在href中获取数据电话(来自alloka.js,并不重要)?

这不起作用:



<script type="text/javascript"  src="http://analytics.alloka.ru/v4/alloka.js" >
    $(document).ready(function() {
        var href = $('span').attr('data-phone');
        $('.t282__logo').attr( 'href', href); 
    })
</script> 
<a class="t282__logo"  href="tel:"><span class="phone-alloka"></span></a>
&#13;
&#13;
&#13;

3 个答案:

答案 0 :(得分:2)

查看jQuery Data官方文档,以便从

更改脚本
var href = $('span').attr('data-phone');

var href = $('span').data('phone');

修改

var href = $('.phone-alloka').data('phone'); // In this way you select the specific span

另一种方式可能是:

var href = $('span[data-phone]').data('phone');

答案 1 :(得分:0)

您可以使用.data()。 jQuery首先读取缓存数据,如果它不存在,则读取data-*属性。

var href = $('span').data('phone');

此外,您需要确保在代码执行时设置data-phone。在执行代码期间可能不存在它。

答案 2 :(得分:0)

<强>更新

首先,您必须将数据电话添加到范围,然后为其指定ID。 然后按如下方式访问它。运行并查看日志结果,您将看到正在更改href。

&#13;
&#13;
$(document).ready(function() {
  var href = $('#demo').data('phone');
  
  console.log("Before : "+ $('.t282__logo').attr( 'href'));
  
  $('.t282__logo').attr( 'href', href); 
  
  console.log("After : "+ $('.t282__logo').attr( 'href'));
})
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script type="text/javascript"  src="http://analytics.alloka.ru/v4/alloka.js" ></script>

<a class="t282__logo"  href="tel:"> Changing href
  <span id="demo" class="phone-alloka" data-phone="www.google.com"></span>
</a>
&#13;
&#13;
&#13;