jQuery / Javascript将元素插入元素

时间:2014-09-28 18:03:11

标签: javascript jquery regex attr

好的,我有这个脚本:

$(document).ready(function () {
    var content = $(".main").html();
    content = content.replace(/\d{3}-\d{3}-\d{4}/g, function(v){
        return $('<a>').attr({
            href: "tel:"+v,
            onclick: "ga('send', 'event', 'lead', 'phone call', 'call');"
        }).html(v)[0].outerHTML;
    });

    $('.main').html(content);
});

在区域中搜索数字模式并为该数字创建链接。 这部分正在运作。但是我试图让它也传递一个“onclick”值,但我无法让它工作?

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

如果不能打破跟踪,您还可以尝试使用jQuery方法将处理程序附加到click事件:

return $('<a>').attr({
            href: "tel:"+v"
        })
        .on('click', function() {ga('send', 'event', 'lead', 'phone call', 'call');})
        .html(v)[0].outerHTML;

**使用.on方法进行演示:**

&#13;
&#13;
$(function() {
  var myLink = $('<a>')
    .attr('href', '#myLink')
    .on('click', function() {
      alert('Thanks for clicking me. Attach ga handler here');
      // ga(this,'send', 'event', 'lead', 'phone call', 'call');
    })
    .text("Click me");

  $('#insert-link-here').append(myLink);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<p>The chaining order matters. jQuery.text() returns String but jQuery.text(string) returns jQuery.</p>

<div id="insert-link-here"></div>
&#13;
&#13;
&#13;