Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/273.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
Javascript jQuery:如何获取div的id(使用名为“hidden”的类)_Javascript_Php_Jquery - Fatal编程技术网

Javascript jQuery:如何获取div的id(使用名为“hidden”的类)

Javascript jQuery:如何获取div的id(使用名为“hidden”的类),javascript,php,jquery,Javascript,Php,Jquery,你能帮我吗 我正在寻找一种解决方案,从隐藏的div中获取id,并在单击时在AJAX查询中与id交互 PHP代码: while ( $contents_print = mysqli_fetch_array( $req_print ) ) { echo ' <div class="post print" id="staggered-test"> <img src="../00_sources/images/upload/pic_min/' .

你能帮我吗

我正在寻找一种解决方案,从隐藏的div中获取id,并在单击时在AJAX查询中与id交互

PHP代码:

while ( $contents_print = mysqli_fetch_array( $req_print ) ) {
echo '
        <div class="post print" id="staggered-test">
            <img src="../00_sources/images/upload/pic_min/' . $contents_print[ 'pic_min' ] . '" alt="' . $contents_print[ 'pic_min' ] . '"/>
                <div class="post-content">          
                    <a href="#modal" class="modal-action modal-trigger">Détail</a>
                    <div class="row"><blockquote>' . $contents_print[ 'detail_projet' ] . '</blockquote></div>
                </div>
            <div class="post-content valign-wrapper"><h4 class="header center">' . $contents_print[ 'nom_projet' ] . '</h4></div>
        </div>
    ';

echo '<div class="hidden" id="'.$contents_print[ 'id_projet' ].'"></div>';
}
可能是我遗漏了什么,我的代码不起作用


请帮帮我。非常感谢

首先,更改同级选择器以使用类选择,如下所示:

.siblings('div.hidden')
$(".post").find(':hidden').each(function(a, el){
    console.log(a, $(el).attr("id"));
})
接下来,您将使用
attr(“id”)
获取元素的id,该元素返回一个字符串,并向字符串添加一个click事件处理程序,这也是不受支持的。您可以在一个语句中执行以下操作:;我将用两个例子来说明:

var id = $(".post").siblings('div.hidden').attr("id");
$("#" + id).click(function() {
  ..
});

id变量获取id,然后使用jQuery中的#id语法选择按id匹配,然后可以将单击事件应用于隐藏元素。

您可以执行以下操作:

.siblings('div.hidden')
$(".post").find(':hidden').each(function(a, el){
    console.log(a, $(el).attr("id"));
})

您有一行指定事件处理程序,该行当前已断开:

$(".post").siblings('div:hidden').attr("id").click(function() {
只需删除
.attr('id')
,因为这样做毫无意义

$(".post").siblings('div:hidden').click(function() {

第二个问题是,现在您已经为隐藏的div分配了一组单击处理程序,那么用户将如何单击它们?

使用
数据-
属性将项目id存储在链接上

'<a class="modal-action" data-id_projet="'.$contents_print[ 'id_projet' ].'"...>'

除此之外,还不清楚什么是目标

你所说的隐藏id是什么意思?这是您代码的最后一行?如何单击隐藏的
?解释预期的行为。attr('id')返回div的id,该id不适合设置单击处理程序。@Shahariazam我将mysql请求中的id放在一个隐藏的div中,这样我就可以从Ajax中使用它,而不会获得特定于实例的
id
。将始终返回中的第一个
.hidden
idpage@James否…元素是在
while
循环中生成的,因此页面中有许多元素是隐藏的,选择器将创建所有元素的集合them@charlietfl我的意思是..假设其余的作品和元素隐藏了类,是否有理由从:hidden切换到.hidden(这个答案似乎集中在使用pseudo而不是类选择器的问题上)我收到了这样一条消息:一堆文本?@James to me更多的是关于隔离正确的实例。OP需要做一些澄清,尽管他们正试图实现什么隐藏类是一个兄弟类,而不是post类的后代,而只是将“$(“.post”).find(“:hidden”).each…”更改为“$(“.post”).sibbins('div:hidden')。each…?!:)工作完美!!!!!!!!这就是我7天以来一直在寻找的东西!谢谢!!!!你们所有人都要花时间回答我