将查询代码与许多不同的div

时间:2016-04-22 17:33:29

标签: javascript php jquery

如果我有5个div

<div id="" class=""> Div11 </div>
<div id="" class=""> Div12 </div>
<div id="" class=""> Div13 </div>
<div id="" class=""> Div14 </div>
<div id="" class=""> Div15 </div>

和jquery代码一样:

单击某个div可隐藏它。

现在当我在jquery $("DIV").click(function(){ $("DIV").hide(); });

中说

我把它命名为DIV所以我可以问你这些问题:

  1. ID或CLASS是否与其他所有人相同而另一个不同。
  2. 如果ID不同,如果我有第一个div id="div1"和第二个id="div2",直到最后,我怎样才能将查询连接到每一个?
  3. 我试过但它只在一个div上工作......就像更好的问题:

    如果我在页面加载时将一些textarea设置为jquery中的hide。在div上点击它需要显示...我的脚本只能在其他人的1 div上工作,并且textarea不是应该隐藏的。

    更新:

    我的真实情况是我有php文件和mysql数据库

    mysql数据库包含名字,id和姓氏 它有10个名字

    在我的php文件中我有:

    $sql = "SELECT * FROM names";
    $result = $con->query($sql);
    
    if ($result->num_rows > 0) {
    
        while($row = $result->fetch_assoc()) {
        $fname = $row['firstname'];
        $id = $row['id'];
                echo $fname."
    
                <textarea id='div".$id."' class='divsss'>Enter last name:</textarea>
    
    ";
    
        }
    
    }
    

    然后我有jquery代码:

    <script type="text/javascript">
            $(document).ready(function() {
    
    
                    $('.divsss').keypress(function(event) {
    
                    var key = (event.keyCode ? event.keyCode : event.which);
                    if (key == 13) {
    
                        var lname = $('.divsss').val();
    
                        var forid = '<?php echo $id; ?>';
    
                        $.ajax({
                            method: "POST",
                            url: "intodb.php",
                            data: {ln: lname, fi: forid},
                            success: function(status) {
                            alert("lname: " + lname + "for id: " + forid);
                                $('.divsss').val('');
    
                            }
    
                        });
                        };
                    }); 
    
            });
        </script>
    

    它不会工作,但是当我将它更改为具有相同id的ID时,它只对第一个输出它的值为0或1.但是当我尝试按类时它不起作用。 在intodb.php里面我只是更新了DB ...

4 个答案:

答案 0 :(得分:0)

$("DIV").on("click", function(){ $(this).hide(); });

使用 ,您将隐藏作为该函数调用者的div。

答案 1 :(得分:0)

当您设置ID(标识)时,如其名称所示,对于一个div,

如果你想在多个div中使用css属性,那么你必须使用一个类,在你的情况下你可以使用以下代码隐藏它们:

$(".hideDiv").click(function(){ $(this).hide(); });

假设您在所有div中使用.hideDiv类,如下所示:

<div id="div01" class="hideDiv"> Div11 </div>
<div id="div02" class="hideDiv"> Div12 </div>
...

等等。

答案 2 :(得分:0)

关于您的问题

  

ID或CLASS是否会与所有其他人和   另一个不同。

根据定义,id属性应该是唯一的,可用于标识DOM中的特定元素。另一方面,class属性可以共享我的多个元素,通常用于为元素设置样式。

  

如果ID不同,如果我有第一个div id =&#34; div1&#34;第二个   ID =&#34; DIV2&#34;直到最后,我如何将查询连接到每一个   他们?

您可以通过多种方式完成此任务。 jQuery支持各种基于属性的选择器,因此您可以轻松地定位每个具有id的元素&#34; start-with div&#34;如下所示:

// This would hide any elements that have an ID that starts with "div"
$('[id^="div"]').hide();

同样,你也可以将CSS类应用于所有这些元素以对它们进行分组并以这种方式选择它们:

<div class='your-class'></div>
<div class='your-class'></div>
<div class='your-class'></div>

以及:

// This would hide any elements that have the class "your-class"
$('.your-class').hide();

关于您的代码

关于您的实际代码,您需要确保在keypress事件中正确确定您要执行的操作:

// When a key is pressed within this element (presumably a <textarea> or <input>
$('.divsss').keypress(function(event) {
        // Store a reference to this for your AJAX callback
        var _self = $(this);
        // Get the key
        var key = (event.keyCode ? event.keyCode : event.which); 
        // If it was enter
        if (key == 13) {
            // Get the last name (of this element), using $(this)
            var lname = $(this).val();
            // Get an id predefined by your server-side PHP
            var forid = '<?php echo $id; ?>';
            // Make your AJAX post
            $.post('intodb.php',{ln: lname, fi: forid}, function(status){
                    alert("lname: " + lname + "for id: " + forid);
                    _self.val('');
            });
}); 

答案 3 :(得分:-1)

使用class和$('.class')作为jQuery标识符..

在jQuery中,$('.class')用于标识类,$('#ID')标识具有特定ID的元素。两者都有它们的用途..但在这种情况下.. class就是你想要的。

<div id="div1" class="div"> Div11 </div>
<div id="div2" class="div"> Div12 </div>
<div id="div3" class="div"> Div13 </div>
<div id="div4" class="div"> Div14 </div>
<div id="div5" class="div"> Div15 </div>


$(".div").click(function(){ $(".div").hide(); });

相反 - ID总是唯一的标识符......保持它们的独特性。 Class es旨在“分类”对象组...