如何解析html元素的类名?

时间:2015-02-18 20:45:27

标签: javascript jquery html css

我在我的<a>元素上使用了类名,因此我将它们归类为我们的分析(例如&#34;形式&#34;,&#34;最喜欢&#34;,&#34;轮播链接& #34;等)。使用的类名没有任何与之关联的CSS样式;目的是严格地帮助分析链接的分类。这是通过在页面加载时运行一些js并将onclick函数附加到所有链接来完成的。此函数获取链接的文本和链接的类。 ajax http get被发送到我们的内部Analtyics应用程序,其中点击了链接的文本和链接类的名称(作为类别)。

我对此的疑问是:

1)由于给定的<a>(或该问题的任何html元素)可以有一个或多个类,有没有办法知道一个类名结束而另一个类开始?根据我的经验,我已经看到只用空格分隔的类名,所以如果其中一个类是由空格分隔的多字值,那么解析这个甚至是可能的吗?

2)我感觉这可以以更好的方式处理。有什么想法吗?

2 个答案:

答案 0 :(得分:3)

我为此添加了自定义数据标记:

data-analytics="form"

通过这种方式,您可以确保它不会与您的任何css / js挂钩发生冲突,因为您已经为分析引用创建了一个唯一的名称空间。

答案 1 :(得分:1)

要扩展@SimonMason的答案,他指出使用data-*属性可让您更清楚地控制如何处理分析链接。我注意到你标记了这个jQuery,这使得这更容易

请参阅下面的代码段

&#13;
&#13;
$(document).on('click','[data-analytics]',function(){
   var analytics = $(this).data('analytics');
  alert('You clicked a link tagged: ' + analytics);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a data-analytics="form" href="#">A form link</a> <br>
<a data-analytics="form" href="#">Another form link</a>  <br>
<a data-analytics="carousel" href="#">A carousel link</a> <br>
&#13;
&#13;
&#13;