Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.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 选择具有特定值的html数据属性_Javascript_Php_Jquery_Html_Sql - Fatal编程技术网

Javascript 选择具有特定值的html数据属性

Javascript 选择具有特定值的html数据属性,javascript,php,jquery,html,sql,Javascript,Php,Jquery,Html,Sql,html代码 <div id="slider"> <?php while($gal = mysql_fetch_assoc($gallerydb)) {?> <img data-store="<? echo $gal["ImageID"] ?>" src="SiteAdministration/ControlCenter/Gal/<? echo $gal["ImgPfad"] ?>">&l

html代码

<div id="slider">
    <?php
    while($gal = mysql_fetch_assoc($gallerydb))
        {?>
        <img data-store="<? echo $gal["ImageID"] ?>" src="SiteAdministration/ControlCenter/Gal/<? echo $gal["ImgPfad"] ?>"><?
        }?>
</div>
html代码显示了一个带有while结构的div,它从特定文件夹中获取所有图像,并从数据库中添加一个ID

jQuery代码显示了我选择具有特定数据属性值的img的尝试

问题是,img不会消失,我建议我把选择器弄糟了

另一个问题是,如何使其工作,使选择器以最低的ID编号开始,以最高的ID编号结束,因为ID可以更改

提前谢谢

编辑:

为了解决ID更改的问题,我刚刚创建了另一个自动增加的变量。如果有人想知道解决方案

<div id="slider">
    <?php
    $id = 1;
    while($gal = mysql_fetch_assoc($gallerydb))
        {?>
        <img data-store="<? echo $id++ ?>" src="SiteAdministration/ControlCenter/Gal/<? echo $gal["ImgPfad"] ?>"><?
        }?>
</div>

正如PSL所说,你的双打和单打是错误的


此外,我不会在自定义html属性中使用连字符。

您的报价不匹配。执行$'slider img[data store='+2+']';看看你的控制台,寻找线索。耶稣基督。。。。我想是时候休息一下了…-。-非常感谢:您知道如何实现最小/最大ID吗?使用连字符有什么问题吗?你知道如何解决第二个问题吗?我不会在自定义html属性中使用连字符?为什么?这是一个有效的HTML5数据-*属性。严格来说,没有理由。。但是为了方便。。包含要部署到html的不同属性的js对象,如果属性包含连字符,则每个对象的名称必须用引号括起来,而不使用引号,那么简单的对象可能如下所示:obj=[{data_store:123,{other:345}].这似乎是一个小小的优化,但当你构建一个大型应用程序时,这一小步可以节省时间。哦,这也使得调用它们变得容易得多。.obj.data\u store比obj['data-store'容易得多没错,我甚至编写了基于下划线的CSS类,但data-*属性并非如此。如果要使用下划线,可以编写data-my_标识符,这是一个有效的数据属性,但不是data-my_标识符。
<div id="slider">
    <?php
    $id = 1;
    while($gal = mysql_fetch_assoc($gallerydb))
        {?>
        <img data-store="<? echo $id++ ?>" src="SiteAdministration/ControlCenter/Gal/<? echo $gal["ImgPfad"] ?>"><?
        }?>
</div>
sliderStart = 1;
sliderNext = 2;

$(document).ready(function() {

$('#slider img[data-store="' + 1 + '"]').fadeIn(300);
startSlider();

});

function startSlider(){

count = $('#slider img').size();

loop = setInterval(function(){

    if(sliderNext > count) {        
        sliderNext = 1;
        sliderStart = 1;        
    }

    $('#slider img').fadeOut(300);
    $('#slider img[data-store="' + sliderNext + '"]').fadeIn(300);

    sliderStart = sliderNext;
    sliderNext = sliderNext + 1;

}, 3000)

}