我想隐藏一个按钮,当字符串"批发'存在于网址中。我已经尝试了以下代码的一些变体,但它只是不起作用。
<script type="text/javascript">
$(document).ready(function () {
if (/wholesale/.test(window.location.href)) {
document.getElementsByClassName('variations_button')[0].style.display = 'none';
}
});
</script>
答案 0 :(得分:0)
可能会有所帮助。
var patt = new RegExp("wholesale");
if (patt.test(window.location.href)) {
$('.variations_button').hide();
}
答案 1 :(得分:0)
你通过类名代码
搞错了select元素它应该是这样的:
document.getElementsByClassName('variations_button')[0].style.display='none'
注意:
document.getElementsByClassName
返回具有相同类名的元素数组。因此document.getElementsByClassName('variations_button')[0]
将返回类名为variations_button
的第一个元素。
答案 2 :(得分:0)
您遇到getElementByClassName
问题,它应该是getElementsByClassName
并且会返回HTMLCollection
(类似对象的数组)而不是元素。你应该也可以使用jQuery,如果它已经加载到页面上。 jQuery是一个类似于HTMLElements对象的数组,它将为您提供将在整个集合上运行的方法。
编辑: 这是一个工作示例,单击“运行代码段”以查看结果。我不得不改变正则表达式以匹配片段中的内容,但你应该明白这一点。
console.log( 'is jQuery installed on the page', typeof $ !== void 0 );
$(function () {
console.log( 'href', window.location.href );
if (/stacksnippets/.test(window.location.href)) {
console.log('regex found in href');
$('.variations_button').css('background', '#3cf');
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="http://codepen.io/synthet1c/pen/WrQapG.js"></script>
<button class="variations_button">variations button</button>