Javascript 使用许多不同的div连接查询代码
如果我有5个divJavascript 使用许多不同的div连接查询代码,javascript,php,jquery,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> 然后我有jquer
<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代码:
<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>
$(文档).ready(函数(){
$('.divsss')。按键(函数(事件){
var key=(event.keyCode?event.keyCode:event.which);
如果(键==13){
var lname=$('.divsss').val();
var-forid='';
$.ajax({
方法:“张贴”,
url:“intodb.php”,
数据:{ln:lname,fi:forid},
成功:功能(状态){
警报(“lname:+lname+”表示id:+forid);
$('.divsss').val('');
}
});
};
});
});
它不会工作,但当我将其更改为具有相同id的id时,它只在第一次输出时工作,其值为0或1。但是当我试着去上课的时候,它不起作用。
在intodb.php中,我刚刚更新了数据库
$("DIV").on("click", function(){ $(this).hide(); });
使用此将隐藏函数调用方的div。使用类和$('.class')
作为jQuery标识符
在jQuery中,$('.class')
用于标识类,$('#ID')
用于标识具有特定ID的元素。两者都有各自的用途。。但是在这种情况下<代码>类是您想要的
<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(); });
Div11
第12课
第13课
第14课
第15课
$(.div”)。单击(函数(){$(.div”).hide();});
相反--
ID
总是唯一的标识符。。。保持它们的独特性Class
es用于“分类”对象组…当您设置一个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>
...
Div11
第12课
...
等等。关于你的问题 ID或类1是否将与所有其他ID或类相同 另一个不同 根据定义,属性应该是唯一的,并且可以用于标识DOM中的特定元素。另一方面,属性可以与我的多个元素共享,通常用于设置元素的样式 如果ID不同,如果我有第一个div ID=“div1”和第二个 id=“div2”最后,我如何将查询连接到每个查询 其中有多少 您可以通过多种方式实现这一点。jQuery支持多种基于属性的选择器,因此您可以轻松地针对每个具有“以div开头”的
id
的元素,如下所示:
// 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>
关于您的代码
关于您的实际代码,您需要确保在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('');
});
});
//当在该元素中按下一个键时(可能是一个或
$('.divsss')。按键(函数(事件){
//为AJAX回调存储对此的引用
var _self=$(本);
//拿到钥匙
var key=(event.keyCode?event.keyCode:event.which);
//如果是进去的话
如果(键==13){
//使用$(this)获取(此元素)的姓氏
var lname=$(this.val();
//获取服务器端PHP预定义的id
var-forid='';
//让你的AJAX帖子
$.post('intodb.php',{ln:lname,fi:forid},函数(状态){
警报(“lname:+lname+”表示id:+forid);
_self.val(“”);
});
});
一个类值可以在多个元素之间共享。id值不能。如果您希望能够为同一目的寻址多个元素,请为它们提供一个公共类,并使用$(“.common class”)
。我更新了问题,你现在能帮我吗?我需要从输入ENTER的textarea中找到ID…并将其分开,就像ID是:ID=“div55”一样。我需要分开div和55…@PointyjQuery调用你的事件处理程序,以便这个引用发生按键的
元素。你不必“查找”它。我明白了。所以基本上我会这样说,然后添加var id=$(this.attr('id');好的,如果我有来自数据库的php echo输出。我的div id是div+。我有10个输出,id是div1,div2,…,div10。然后单击id为div3的div3。我如何告诉jquery我正在单击id div3,我应该说单击$(“#div”)?或者别的什么?因为我这样做时出错了,所以它只使用数据库中的第一个$id?不,就这么简单。如果有任意数量的div,就不需要寻址特定的div。在jQuery中,有很多不同的方式来寻址元素。它们被称为选择器。如果要寻址所有div标记,只需执行以下操作即可它类似于$('div')如果你想处理运行时创建的div,你应该像hits.$(document)那样处理。在(“click”,“div”,function(){})上如果你想隐藏被点击的div,你应该像$(document)一样处理。在(“click”,“div”,function(){$(this).hide()})上使用“this”请记住,处理运行时创建的任何内容的正确方法是$(document)。在(“click”,“ELEMENT”,function(){})上,因为在任何其他方式下,事件都不会附加到运行时创建的元素。我用我的问题更新了问题,请看一看,我可以说:$(document)。在(“click”,“#div”,function(){$(this.hide()})我看到了,但我有一些相同但不同的问题,我将更新这个问题
// This would hide any elements that have the class "your-class"
$('.your-class').hide();
// 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('');
});
});