在Javascript使用自己的数据加载元素后更改href

时间:2013-12-27 21:17:24

标签: javascript jquery

我在我的网站上使用Facebook Embedded帖子,我正在尝试更改特定属性,但失败了。

    <a class="_6j_ _5cix" data-ft="{&quot;tn&quot;:&quot;J&quot;}" href="/sharer.php?s=2&amp;appid=2305272732&amp;p%5B0%5D=191027189287&amp;p%5B1%5D=1073742637&amp;share_source_type=unknown" target="_blank" title="Share this item" data-reactid=".r[3suu5].[1].[2]"><i class="_6k1 _528f" data-reactid=".r[3suu5].[1].[2].[0]"></i><span data-reactid=".r[3suu5].[1].[2].[1]">Share</span></a>

首先,我需要知道如何访问该类名。我想要改变的属性是href。我还想删除“data-reactid =”。r [3suu5]。[1]。[2]“因为这会影响它的工作原理。

我想我知道用于更改/删除属性的代码,我认为这个问题是因为没有任何变化而我太早运行它。此外,我可以继续使用谷歌浏览器上的Javascript控制台并删除/更改内容,它完美无缺,我只需要它自动发生。

谢谢, 加文。

1 个答案:

答案 0 :(得分:0)

您需要什么才能访问课程?有很多方法可以做你想做的事情,这里有一些例子。如果你详细说明你的目标是什么,那么这可以帮助缩小一些潜在的解决方案。

这将访问该类,删除属性data-reactid,并更改href

myFunction('a','whatever-link.html'); 

function myFunction(el,href) {
    var el = $(el),
        //accesses the class
        currentClass = el.attr('class');

    el.removeAttr('data-reactid');
    el.attr('href',href);
}

或者,这会将所有内容都放在点击事件中

$('a').click(function() {
     var currentClass = $(this).attr('class');

     $(this).removeAttr('data-reactid');
     $(this).attr('href','whatever-link.html');
});

或者,这只是一种获取所有链接的类并将它们放在一个数组中的方法(如果你想出于任何原因这样做)

var classes = [];

$('a').each(function() {
    classes.push($(this).attr('class'));  
});

您还可以按类选择链接:

 $('._6j_ _cxwhatever_');

我建议阅读jQuery selector documentation