尝试运行 JavaScript 函数时出现对象错误的空值

这是我第一次在这里发帖,我对编码还比较陌生,所以请原谅我的无知。


我正在为我的 WordPress 模板开发一个页面,该页面将在单击 div 时打开一个模式窗口以显示图像。


这是到目前为止我的 HTML..


<?php

/**

* Template Name: Home Page

*/



get_header(); ?>

<div class="grid-container">


<?php

$args = array(

'post_type' => 'artists',

);


$the_query = new WP_Query( $args );


if ( $the_query->have_posts() ) :

   while ( $the_query->have_posts() ) :

       $the_query->the_post();

       ?>

       <?php $postId = get_the_ID(); ?>

      <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>

      <div id="popup">

      <img id="myImg" src="wp-content/themes/dollarartclub/images/women.png" alt="Snow" style="width:100%;max-width:300px">

    </div><!-- modal -->

    <div id="mymodal" class="modal">

      <span class="close">&times;</span>

      <img class="modal-content" id="img01">

     <div id="caption"></div>

    </div>

    

  </article>

       <?php

   endwhile;

endif;

wp_reset_query();

    ?>

  </article>

</div>

Javascript(在我的functions.php中排队)


jQuery(document).ready(function($) {

var modal = document.getElementById("myModal");

var img = document.getElementById("myImg");

var modalImg = document.getElementById("img01");

var captionText = document.getElementById("caption");

img.onclick = function(){

  modal.style.display = "block";

  modalImg.src = this.src;

  captionText.innerHTML = this.alt;

}


var span = document.getElementsByClassName("close")[0];

span.onclick = function() {

  modal.style.display = "none";

}

});

我不断收到控制台错误“未捕获的 TypeError:无法访问属性“样式”,模态为空”我收到“无法访问 onclick,img 为空”,但将 javascript 包装在 jquery 函数中似乎可以阻止此操作。


我已经尝试让它工作一周了,但没有成功,这让我发疯。任何帮助将不胜感激。谢谢你!


梵蒂冈之花
浏览 96回答 1
1回答

慕斯王

你的选择器是不同的,一个有一个大写的M。<div&nbsp;id="mymodal"&nbsp;class="modal">document.getElementById("myModal")
打开App,查看更多内容
随时随地看视频慕课网APP