繁体   English   中英

此脚本在WordPress中不起作用

[英]This script won't work in WordPress

我正在尝试使以下代码在WordPress中工作,但无法使其正常工作。 表单显示正确,但是选择其他选项不会执行任何操作。 我不知道如何使jQuery工作。 代码本身可以正常工作。 在此先感谢您的帮助!

<style type="text/css">
.hide {
     display: none;
}
</style>
<script type="text/javascript" src="files/jquery-1.8.1.js"></script>
<script type="text/javascript">
var $j = jQuery.noConflict();

$j("#choices").change(function(){
   $j('.hide').slideUp();
   $j('#'+this.value).slideDown()
});
</script>
<form>
<select id="choices">
        <option value="none">Select an option...</option>
    <option value="option1">Option 1</option>
    <option value="option2">Option 2</option>
    <option value="option3">Option 3</option>
        <option value="option4">Option 4</option>
        <option value="option5">Option 5</option>
        <option value="option6">Option 6</option>
        <option value="option7">Option 7</option>
</select>
</form>
<div id="option1" class="hide">Option 1 TEXT</div>
<div id="option2" class="hide">Option 2 TEXT</div>
<div id="option3" class="hide">Option 3 TEXT</div>
<div id="option4" class="hide">Option 4 TEXT</div>
<div id="option5" class="hide">Option 5 TEXT</div>
<div id="option6" class="hide">Option 6 TEXT</div>
<div id="option7" class="hide">Option 7 TEXT</div>

两个流行的警告。

  • 执行脚本时DOM尚未准备好

     var $j = jQuery.noConflict(); $j(document).ready(function(){ $j("#choices").change(function(){ $j('.hide').slideUp(); $j('#'+this.value).slideDown() }); }) 
  • 您的ID可能会被使用两次。 将ID更改为HTML和JS中的类。 检查与

     console.log( $j("#choices") ) 

尝试这个:

<script type="text/javascript">
    var $j = jQuery.noConflict();

    $j(document).ready(function() {
        $j("#choices").change(function(){
           $j('.hide').slideUp();
           $j('#'+this.value).slideDown()
        });
    });
</script>

这将确保在DOM准备就绪之前不执行jQuery代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM