如何修改由外部javascript创建的元素上的类

如何修改由外部javascript创建的元素上的类,javascript,html,css,Javascript,Html,Css,我的网站上有一个嵌入式脚本,它创建了一个带有特定类的按钮。我在网页上的两个位置显示此按钮,但希望为这两个位置的按钮指定不同的样式。我的问题是:有没有一种方法可以“覆盖”这个外部脚本创建的元素的class属性,只在它显示的地方 我控制的代码如下所示: <div class="homepageslide"> <script src="https://tool.reframeyourclients.com/js/insertfill-z0f1d1db4-41f6-4543-8

我的网站上有一个嵌入式脚本,它创建了一个带有特定类的按钮。我在网页上的两个位置显示此按钮,但希望为这两个位置的按钮指定不同的样式。我的问题是:有没有一种方法可以“覆盖”这个外部脚本创建的元素的class属性,只在它显示的地方

我控制的代码如下所示:

<div class="homepageslide">
    <script src="https://tool.reframeyourclients.com/js/insertfill-z0f1d1db4-41f6-4543-8de1-6d080ae1635b.js" type="text/javascript" id="ryc-insert-script-z0f1d1db4-41f6-4543-8de1-6d080ae1635b" onclick="javascript:ga('send', 'event', 'homepage-slider-grader', 'click');">
    </script>
</div>

在网站上呈现为:

<div class="homepageslide">
    <span id="ryc-fill-button-z0f1d1db4-41f6-4543-8de1-6d080ae1635b" type="button" class="rycfill-btn" style="color: rgb(122, 128, 0); border: 1px solid rgb(175, 183, 0); border-radius: 4px; font-family: Ubuntu-Regular; font-size: 15px;">Start Survey +</span>
    <script src="https://tool.reframeyourclients.com/js/insertfill-z0f1d1db4-41f6-4543-8de1-6d080ae1635b.js" type="text/javascript" id="ryc-insert-script-z0f1d1db4-41f6-4543-8de1-6d080ae1635b">
    </script>
</div>

开始调查+
嵌入的脚本创建了该元素,我希望为其操作类(删除'rycfill btn'并添加'myClass'),还可以选择删除井后面的样式。这可能吗/怎么可能


提前谢谢

当然。您可以修改脚本应用于元素的现有类来更改其外观。但您在评论中提到要编辑按钮的一次实例,而不是其他实例。如果该按钮具有某些特殊属性(例如,它始终是其父按钮的第n个子按钮),那么使用正确的CSS选择器仍然可以做到这一点。但除此之外,您还可以使用JavaScript来实现

只需编写一个在现有脚本完成后运行的脚本。然后选择目标按钮并删除其现有类并替换它

elements = document.getElementsByClassName('rycfill-btn');
theButton = elements[3]; // or whatever you need to do to get the one you want and ignore the other one
theButton.className = 'myClass'; // This should both add the new class and overwrite the old one
当然,您需要某种方法来区分要更改的按钮和不更改的按钮。如果确实要更改,则可以先运行脚本,在加载按钮之前对其进行修改。否则,您需要了解一些有关它的信息(例如,它将始终是页面上的第二个实例)


如果您使用jQuery或其他一些DOM操作库,您可能会做得更优雅。

您可以对样式使用css,我会将
rycfill btn
添加到您的样式表中,而不是交换出类-您可以使用javascriptHi@Darren删除样式属性,我已经在样式表中为
rycfill btn
定义了我的样式,但是我在我的网站上的两个地方调用了相同的嵌入式javascript,其中一个我需要用不同的样式显示-因此只想在我的按钮实例上更改类。关于如何使用javascript实现这一点,有什么建议吗?谢谢@William,这很有效!我添加了
theButton.style=''theButton.className='readon'前面的code>
删除脚本传递的样式,现在看起来很不错。干杯