Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.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
JQuery如果div id数据属性等于1_Jquery_Html - Fatal编程技术网

JQuery如果div id数据属性等于1

JQuery如果div id数据属性等于1,jquery,html,Jquery,Html,我基于一些jquery插件创建了一些“三维堆栈div” 基本上,每个div都有自己的id,活动div将有一个属性data position=“1”,而其他非活动div将有data position=“2”或data position=“3” 现在,如何使用jquery生成if-else语句,如果该div iddata position=“1”,它将执行一些特定的操作。为了便于学习,我们只需使不同的div id显示不同的自定义警报文本即可 p/S:我找到了这个解决方案,但问题是它的目标是相同的类名

我基于一些jquery插件创建了一些“三维堆栈div”

基本上,每个div都有自己的id,活动div将有一个属性
data position=“1”
,而其他非活动div将有
data position=“2”
data position=“3”

现在,如何使用jquery生成if-else语句,如果该div id
data position=“1”
,它将执行一些特定的操作。
为了便于学习,我们只需使不同的div id显示不同的自定义警报文本即可

p/S:我找到了这个解决方案,但问题是它的目标是相同的类名,这与我的案例不同

编辑:我添加了一个新的jquery,其中
如果此div id具有此数据类值,则显示一个警报。它工作正常,但是如果我改为
,如果这个div id有这个数据位置值,那么什么也不会发生。为什么会这样?

这是它无法工作的代码

jQuery(".next").on('click', function() {
if ($("#discover").data("position") == '1') {
alert("Help Me");
}
});
$(“#滑块”).堆栈#滑块({
自动播放速度:6000,
自动播放:错误,
点:错,
箭头:错,
拖:错,
方向:“垂直”
});
jQuery(“.next”)。在('click',function()上{
如果($(“#发现”).data(“类”)=“1”){
警惕(“帮助我”);
}
});
.dp wrap{
保证金:0自动;
位置:相对位置;
透视图:1000px;
身高:100%;
}
.dp_项目{
位置:绝对位置;
转变:转变1.2s;
边框:1px实心#707070;
}
#滑块{
位置:相对位置;
}
#dp滑块。dp_项:第一个子项{
z指数:10!重要;
变换:旋转(0deg)平移(0px)!重要;
背景:#fff;
}
.dp_项[数据位置=“2”]{
z指数:9;
变换:旋转(0度)平移(10%)比例(0.9);
}
.dp_项[数据位置=“3”]{
z指数:8;
变换:旋转(0度)平移(20%)比例(0.8);
}
#dp滑块{
高度:自动;
最小高度:600px;
}
#dp滑块。dp_项:悬停:非(:第一个子项){
光标:指针;
}
/*垂直布局*/
.vertical#dp slider.dp_项[数据位置=“3”]{
变换:旋转(0度)平移(-3%)比例(0.8);
}
.vertical#dp滑块.dp_项[数据位置=“2”]{
变换:旋转(0度)平移(9%)比例(0.9);
}
.垂直#dp滑块.dp#U项:第一个子项{
变换:旋转(0度)平移(计算(21%-.5px))比例(1)!重要;
}
.vertical#dp slider.dp#u项[data position=“2”]img,
.vertical#dp slider.dp#u项[data position=“3”]img{
-webkit过滤器:模糊(1px);/*Safari 6.0-9.0*/
滤镜:模糊(1px);
}
.dp文本{
填充:20px;
}
.dp文本h5{
颜色:#404040;
}
.dp文本h5跨度{
边框:2个实心#404040;
边界半径:50%;
填充:1%3%;
}

下一步

1发现 2定义 3发展
如果我没弄错的话,有几种方法,但最简单的方法(因为您是jQuery新手)是这样的:

for(let i of $('div[data-position]')) {
  const el = $(i);
  if(el.attr('data-position') === '1') {
    console.log(el.text());
  }
}
如果您需要直接访问特定部门,您也可以这样做:

const el = $('div[data-position]=1');

当只想知道项目位置时,
data
属性可能是无用的

因为使用jQuery,它要么是
.data()
要么是
.index()


当用户点击时会发生这种情况吗?@Ibu的可能重复是的,但我不确定我能不能使用onclick,因为我正在使用的jquery插件已经使用onclick将数据位置更改为“1”。@Anis R。你给出的链接是关于获取数据属性的value@NazrinNoorzan是的,但你可以扩展一下,使用它来区分div(例如,使用if/else语句来知道您正在处理哪个div)。
$(".dp_item").click(function() {

    /* a) reading the data-position */
    if(parseInt($(this).data("position")) == 1) {
        ...
    }

    /* b) using selector .dp_item index position */
    if($(this).index() == 0) {
        ...
    }
});