html隐藏和显示div的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了html隐藏和显示div的问题相关的知识,希望对你有一定的参考价值。

html页面有一个<p>和两个<div>
想通过点击<p>切换div。
例如点击【显示d1】就隐藏d2并显示d1,同时<p>的文字=“显示d2”。
再次点击【显示d1】就隐藏d1并显示d2,同时<p>的文字=“显示d1”。
我要具体代码?谢谢。

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<style>
#d1,#d2
background:#F10D11;
width:200px;
height:100px;

</style>
</head>

<body>

<p>显示d1</p>

<div id="d1">
<p>d1d1d1d1d1d1d1d1d1d1</p>
</div>
<div id="d2">
<p>d2d2d2d2d2d2d2d2d2d2</p>
</div>

</body>
</html>

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<style>
#d1,#d2
    background:#F10D11;
    width:200px;
    height:100px;

#d2display:none;
</style>
</head>

<body>

<p onclick="javascript:change(this);">显示d2</p>

<div id="d1">
<p>d1d1d1d1d1d1d1d1d1d1</p>
</div>
<div id="d2">
<p>d2d2d2d2d2d2d2d2d2d2</p>
</div>
<script>
function change(obj)
    if(obj.innerHTML == '显示d2')
        obj.innerHTML = '显示d1';
        document.getElementById('d1').style.display = 'none';
        document.getElementById('d2').style.display = 'block';
     else 
        obj.innerHTML = '显示d2';
        document.getElementById('d1').style.display = 'block';
        document.getElementById('d2').style.display = 'none';
    

</script>
</body>
</html>

参考技术A <!doctype html>
<html>

<head>

<meta charset="utf-8">

<title>无标题文档</title>

<style>

#d1,#d2

background:#F10D11;

width:200px;

height:100px;



#d2

display: none;



#p2
display: none;


</style>

</head>

<body>

<p id="p1">显示d1</p>

<p id="p2">显示d2</p>

<div id="d1">

<p>d1d1d1d1d1d1d1d1d1d1</p>

</div>

<div id="d2">

<p>d2d2d2d2d2d2d2d2d2d2</p>

</div>

</body>

<script type="text/javascript">

var p1 = document.getElementById("p1")

var p2 = document.getElementById("p2")

var d1 = document.getElementById("d1")

var d2 = document.getElementById("d2")

p1.onclick = function()

d1.style.display = "none"

d2.style.display = "block"

p1.style.display = "none"
p2.style.display = "block"



p2.onclick = function()

d1.style.display = "block"

d2.style.display = "none"

p1.style.display = "block"

p2.style.display = "none"



</script>
</html>
参考技术B <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script src="jquery-1.10.1.js" type="text/javascript"></script>
<script>
function show(obj)
if(obj == 2)
$("#d1").hide();
$("#d2").show();
$("#p").text('显示d2');
$("#p").attr('onclick', 'show(1)');

if(obj == 1)
$("#d1").show();
$("#d2").hide();
$("#p").text('显示d1');
$("#p").attr('onclick', 'show(2)');


</script>
<style>
#d1,#d2
background:#ccc;
width:200px;
height:100px;

</style>
</head>

<body>

<p onclick="show(2);" id="p">显示d1</p>

<div id="d1">
<p>d1d1d1d1d1d1d1d1d1d1</p>
</div>
<div id="d2" style="display:none;">
<p>d2d2d2d2d2d2d2d2d2d2</p>
</div>

</body>
</html>

单击提交按钮后,PHP 文件和 Javascript 函数未捕获 Html div id 以显示隐藏的 div

【中文标题】单击提交按钮后,PHP 文件和 Javascript 函数未捕获 Html div id 以显示隐藏的 div【英文标题】:PHP file and Javascript function doesn't capture Html div id to show hidden div after clicking submit button 【发布时间】:2022-01-11 19:12:00 【问题描述】:

我在index.php 中有这个 div

 <div class="class" id="ScoreResult" style="display:none;">

我在seosystem/controller/youtubedata.php 中有这个功能,我尝试使用 Js 它不起作用所以我希望当用户提交按钮时它显示 div 以显示数据

if($_SERVER['REQUEST_METHOD'] == "GET" && isset($_GET['url'])  && isset($_GET['submit']))

        /*  echo  "</br >" ; 
        echo   $input_Url_data   .  "Button clicked" ;  */    
        $id_position = strstr($input_Url_data,"=");
        $id_position = trim($id_position, "=" );
         // the alert works normally
        echo '<script> alert("heelo"); </script>';

        // this part that trying to show the div doesn't work
        echo '<script type="text/JavaScript">
        function showtable1()
        
         
         document.getElementById( "ScoreResult").style.display = "block";
     
            
         
                showtable1(); 
            </script>'
        ;
            
        echo "<style type=\"text/css\"> #ScoreResult display:block;</style>";
      
            
        

  

这是输入的形式和按钮,我不确定我应该进行操作index.php 还是seosystem/controller/youtubedata.php

<form class="d-flex justify-content-center " method="GET" action="index.php">
  <div class="input-group ">
    <input type="text" class="form-control" name="url" placeholder="Enter Youtube Video URL" aria-label="Example text with button addon" aria-describedby="button-addon1">
    <input class="btn" value="Analyze" name="submit" type="submit" id="button-addon1"></input>
  </div>
</form>

【问题讨论】:

表单元素是一个链接,提交表单会导航到表单的action 属性指向的 URL(或该 URL 返回的任何内容)。如果未定义action,则使用页面的当前位置。 @Teemu 表单正在运行,功能也在运行,但是这段用于显示 div 的特定代码根本不起作用 我什至尝试过 index.php 本身现在也能正常工作 表单中的action属性指向index.phpyoutubedata.php与问题有什么关系? 【参考方案1】:

将此代码添加到您的 index.php 文件中。这就是您有选择地显示和隐藏 ScoreResult div 的方式。希望它对你有用。

<?php
// This part should be added to the php section at the top of the page

// Start by setting the $url_set status to 0
$url_set = 0;
if (isset($_GET['url'])) 
    // Now we set the $url_set status to 1
    $url_set = 1;


?>

<div class="class" id="ScoreResult"></div>
<!--This section links the $url_set status to the code-->
<input type="hidden" value="<?php echo $url_set ?>" id="url-status">

<!--Replace your JS section with this-->
<script>
function showtable1() 
    const
        url_status = document.querySelector('#url-status').value,
        dsp_status = url_status == 1 ? 'block' : 'none'

    document.getElementById("ScoreResult").style.display = dsp_status;


showtable1();
</script>

【讨论】:

我特别喜欢这个想法,我是类中另一个文件中的 php 代码,但是问题是代码排列,当我在上面的 php 脚本中显示它时它会下降并再次隐藏它跨度> 现在可以用了吗? 是的,它正在工作

以上是关于html隐藏和显示div的问题的主要内容,如果未能解决你的问题,请参考以下文章

下拉列表框控制层的显示和隐藏

如何实现js控制div的隐藏及显现

单击提交按钮后,PHP 文件和 Javascript 函数未捕获 Html div id 以显示隐藏的 div

HTML / CSS - DIV 元素不应该隐藏?

通过另一个 div 时显示/隐藏 DIV

JS点击按钮显示隐藏层问题