在 Javascript 加载带有自己的数据的元素后更改 href



我正在我的网站上使用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控制台并删除/更改内容,它运行良好,我只需要它自动发生。

谢谢加文。

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

这将访问类,删除属性 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选择器文档

最新更新