Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使div成为可点击的链接_Php_Javascript_Jquery_Html_Css - Fatal编程技术网

Php 使div成为可点击的链接

Php 使div成为可点击的链接,php,javascript,jquery,html,css,Php,Javascript,Jquery,Html,Css,我有一个PHP搜索脚本,它将结果解析为HTMLdiv元素,以使结果的样式设置更容易。我有以下代码: <div class='webresult'><div class='title'><a href='{$row['url']}'>{$row['title']}</a></div><div class='url'>{$row['url']}</div><div class='desc'>{$row['

我有一个PHP搜索脚本,它将结果解析为HTMLdiv元素,以使结果的样式设置更容易。我有以下代码:

<div class='webresult'><div class='title'><a href='{$row['url']}'>{$row['title']}</a></div><div class='url'>{$row['url']}</div><div class='desc'>{$row['description']}</div></div>
{$row['url']}{$row['description']}
我希望这样,当点击整个webresult div时,它会转到结果的url

我希望人们能够理解我想要描述的内容。

使用jQuery:

$('.webresult').click(function() {
   window.location.href = $(this).find('a').attr('href');
});

如果要使整个div可单击,请尝试将
元素样式设置为块元素,并使其大小与父级
相等,即

.title a {
  display: block;
  width: 100%;
  height: 100%;
}

最好通过javascript实现这一点。如果使用jQuery,可以执行以下操作:

$('.webresult').click(function(){
    $('this').find('a').click();
})

我将使用jQuery执行此操作:

$(".webresult").click(function() {
    window.location.href = $(this).find("a").attr("href");
});
另一个解决方案是,在HTML5规范中,块元素实际上可以是指向其他位置的链接。你可以在这里阅读更多信息:

不是

<div onclick="location.href='/the_url/'">


您需要什么?

将锚环绕所有内容,而不仅仅是行标题,并将其设置为
display:block在css中。按照之前设置div样式的方式进一步设置锚点的样式,并完全删除div。您可能还希望设置文本颜色(包括for:hover)并使用“文本装饰”属性删除下划线


如果您决定使用其他人发布的javascript选项之一,请确保您有一个优雅的后备方案。并非每个人都启用了javascript。

这里的第一行应该是
$(“.webresult”)
(错过了句号)。@jack:谢谢你的关注@卡勒姆:是jQuery。您将首先加载jQuery库,然后使用上面的方法。如果这是您在页面上使用的唯一JS,那么jQuery当然是过火了。您的项目中是否加载了jQuery?+1 yes@Callum Whyte,如果您设置
display:block
在您的链接上,它将像
一样工作,您可以根据自己的喜好设置样式。使用javascript使div像链接一样运行是不利于SEO的,在我看来应该避免。这绝对是首选的方式。使用JavaScript使div可单击停止了在新选项卡或窗口中打开的功能。许多用户经常使用的功能。是的,通过使用display:block避免divitis()。我敢打赌,你的一些其他div也是不必要的。此外,作为一名web开发人员,我必须承认,当其他人使用javascript时,我指责他们不称职,因为css可以做得很好。你不能在div元素周围设置锚来通过W3验证。@imoda:没错。因此,“完全放弃div”。