如何使整个 div 可点击?

How can I make this whole div clickable?

在我的 Wordpress 网站的以下 PHP 代码中,我获取了某些 child 页面的标题和导引,并在无序列表中显示为行项目。我已将每个 LI 放在 div 中。

我已经使用 CSS 让 div 在悬停状态下改变颜色,我想让整个 div 都可以点击,包括它的空白背景。

问题是,只有里面的文字可以点击。 div 的背景没有。我希望整个 div(包括它的空白背景)都可以点击。

我知道在常规 html 中,使整个 div 可点击很容易:只需用 link("a href" 和“/a”)标记包围它.

这在此处似乎不起作用 -- 只有其中的文本变得可点击。有没有办法让整个 div (包括它的空白背景)可以点击?这是代码。谢谢!

/* Get the children of the services page */
                $args = array(
        'post_type' => 'page',
        'post_parent' => $services_id
    );
    $services_query = new WP_Query( $args );

// Grab the title and lede and display them in an unordered list
     if ( $services_query->have_posts() ) {
        echo '<ul class="services-list">';
        while ( $services_query->have_posts() ) {
            $services_query->the_post();
            echo '<a href="' . get_permalink() . '" title="' . get_the_title() . '">';

            //Shouldn't this whole div be clickable? Note the link tag echoed above...
            echo '<div>'; 
            echo '<li class="clear">';
            echo '<h3 class="services-title">' . get_the_title() . '</h3>';
            echo '<div class="services-lede">';
            the_content();
            echo '</div>';
            echo '</li>';
            echo '</div>'; //end of clickable div
            echo '</a>'; //closed anchor tag
        }
        echo '</ul>';
    } 

如果要使 DIV 可点击,可以使用它的 onclick 属性。

这是一个简单的 html 方法:

<html>
<body>
    <div style="background: #c0c0c0" onclick="javascript:alert('bla');">
        this is a clickable DIV
    </div>

    <div style="background: #e0e0e0">
        this is not a clickable DIV
    </div>
</body>
</html>

对于你的情况,它将是:

echo '<div onclick="document.location=\'' . get_permalink() . '\'">'; 

'ul' 标签中唯一允许的内容是 'li' 标签。关于此的更多信息 here

因此,while 循环中的正确顺序是 li -> a -> div。

使用jquery或javascript和ajax(如果您需要发送或接收数据)

$("div").on("click", function(){ //use ajax to send data to server };
//javascript
var div = document.getElementsByTagName("div");
div.onclick = function() { //ajax };