2014-08-31 47 views
0

我还在学习jQuery的 - 所以,我很抱歉,如果我问了很多,或者有什么我问的是容易还是愚蠢。jQuery的 - 获取文本从元素与添加的属性

当我有一个问题,我通常会尽量给什么,我已经试过一个例子,但老实说,我不知道从哪里开始!所以即使是我需要做的一些指导也不止于此!我非常乐意尝试自己做这件事,我只是不确定Google要做什么!

基本上就是我想要做的就是我的锚的内容,并将它们添加到跟踪属性。然后在属性的空间被交换到+的

代码:

<a href="#" tracking="Banner-_-Link+1-_-">LINK ONE</a> 
<a href="#" tracking="Banner-_-Link+2-_-">LINK TWO</a> 

代码加载后

<a href="#" tracking="Banner-_-Link+1-_-LINK+ONE">LINK ONE</a> 
<a href="#" tracking="Banner-_-Link+2-_-LINK+TWO">LINK TWO</a> 

任何指导意见将非常感激!

谢谢!

回答

3

件逐件:

获取与tracking属性的所有链接:

var anchors = $('a[tracking]'); 

和循环通过他们:

anchors.each(function() { 

在每个点,得到了a元素其文字(用'+'代替' '):

​​

并追加文本到现有的属性:

a.attr('tracking', a.attr('tracking') + txt); 

,我们就大功告成了。

}); 

例子:http://codepen.io/paulroub/pen/Extrl

+0

绝对的辉煌!这正是我所需要的,你已经说得很清楚。谢谢保罗! – Nick 2014-08-31 20:36:53

0

HTML:

<a href="#" class="click-this" tracking="Banner-_-Link+1-_-">LINK ONE</a> <!--Added Class 'click-this'--> 
<a href="#" class="click-this" tracking="Banner-_-Link+2-_-">LINK TWO</a> 

的Jquery:

$('.click-this').on('click', function(){ //On click of the anchor tag 
    var a = $(this).text(); //Take the text content of the one that's being clicked 
    var b = $(this).attr('tracking'); //take the existing content of attribute 'tracking' 
    b = b+a; //concatenating the two 
    $(this).attr('tracking', b); //reassigning the new value to attribute 
}); 

阅读了使用他们的文档jQuery的很多。

了解更多关于.attr()这里:http://api.jquery.com/attr/

0

最简单的方法是将HTML焊割这样:

<a href="#" tracking="Banner-_-Link+1-_-" onclick=$(this).attr('tracking',$(this).attr('tracking')+$(this).text().replace(' ', '+'))>LINK ONE</a> 
0

一个更好的办法来做到这一点也许是它添加到数据属性:

<a href="#" data-tracking="Banner-_-Link+1-_-">LINK ONE</a> 

您可以通过使用data方法访问它:

$('a').data('tracking'); //Banner-_-Link+1-_- 

我不知道你为什么要改变它的飞行,但无论如何,你可以..

$('a').each(function() { 
    var anchor = $(this), 
     anchorData = anchor.data('tracking'), 
     text = anchor.text().replace(' ', '+'); 
    anchor.data('tracking', anchorData += text); 
}); 

只要确保你得到的选择那些a与jQuery正确的范围,否则你会从你的页面获得所有锚点。