Javascript加载包含自己数据的元素后更改href

Javascript加载包含自己数据的元素后更改href,javascript,jquery,Javascript,Jquery,我在我的网站上使用Facebook嵌入的帖子,我试图改变一个特定的属性,但失败了 <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_sour

我在我的网站上使用Facebook嵌入的帖子,我试图改变一个特定的属性,但失败了

    <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]”,因为这会影响它的工作方式

我想我知道用来更改/删除属性的代码,问题是我运行它太早了,因为没有任何更改。此外,我可以在google chrome的Javascript控制台上删除/更改内容,它工作得非常好,我只需要它自动发生

谢谢,
Gavin.

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

这将访问该类,删除属性数据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');
});
或者,这只是一种获取所有链接的类并将它们放入数组中的方法(如果出于任何原因需要这样做)

还可以按类选择链接:

 $('._6j_ _cxwhatever_');

我建议读一读

或者?课程名称是“6j\u 5cix”“有效。这就是Javascript控制台上的显示方式,但我认为它不能有空格。此外,我知道如何访问类名,但如何在加载元素后运行它,这是通过Javascript加载的。帖子可能是异步添加的……您可以使用setInterval检查是否存在,然后清除一次间隔found@GavinMcBride类之间的空格表示此元素上有多个类:
\u 6j\u
\u 5cix
。因此,要确认,如果我使用document.getElementsByClassName,我将如何编写它来更改href?嘿,这太棒了,我需要将它分配给类“class=”6j_5cix“,因为还有更多的标记。如果我错了,请纠正我。为什么?如果是这样的话,你可以只做$('.'u 6j_').attr('class','6j_5cix')或$('.'u 5cix').attr('class','whatever'),正如上面提到的一位评论员所说,值得注意的是,6j和_5cix之间的空格实际上意味着有两个类被分配给这个元素。我有什么方法可以讨论你在我的网站上工作来实现这一点吗,我还可以更详细地解释我需要什么?当然可以,给我发电子邮件到joshua.a。beam@gmail.com
 $('._6j_ _cxwhatever_');