Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.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 var=$('.div').attr('title').split('')[number]_Javascript_Jquery_Var_Attr - Fatal编程技术网

Javascript var=$('.div').attr('title').split('')[number]

Javascript var=$('.div').attr('title').split('')[number],javascript,jquery,var,attr,Javascript,Jquery,Var,Attr,我正在尝试使用class.selected为我的幻灯片设置var,但它不起作用。我假设我在语法方面有问题,但有趣的是,我花了大约2个小时试图找到正确的方法,但没有找到任何相关的! 那么,这有可能吗?如果有,我该怎么做?拥有类似于: var name = $('.div').attr('title').split('')[3] 我的具体代码是: var currentIndex=$.room\u exp.selected.attr'title'.split[3] 它应该有用吗 基本上,我有一个缩

我正在尝试使用class.selected为我的幻灯片设置var,但它不起作用。我假设我在语法方面有问题,但有趣的是,我花了大约2个小时试图找到正确的方法,但没有找到任何相关的! 那么,这有可能吗?如果有,我该怎么做?拥有类似于:

var name = $('.div').attr('title').split('')[3]
我的具体代码是: var currentIndex=$.room\u exp.selected.attr'title'.split[3]

它应该有用吗

基本上,我有一个缩略图列表,点击后,我需要一个更详细的版本在正确的幻灯片上打开。我相信我可以访问缩略图标题中的数字并使用.split。请帮忙

代码如下:

<li class="room_c"><div class="room_list" data-room="one"><img src="site-assets/photos/rooms1.jpg"><div class="room-description"><span class="label_bold">Эконом</span><br><span class="desc"> Две кровати</span></div><div class="room_box"><a href="/photos"><span class="camera_left"><img src="site-assets/camera_icon.png" style="height: 16px; width: auto; position: relative;"></span></a><span class="camera_right"><div class="room_mdts" data-room="one" title="Номер класса Эконом">Дополнительная информация</div></span></div></div></li> 
<li class="room_c"><div class="room_list" data-room="two"><img src="site-assets/photos/rooms2.jpg"><div class="room-description"><span class="label_bold">Стандарт</span><br><span class="desc">Двойная кровать</span></div><div class="room_box"><a href="/photos"><span class="camera_left"><img src="site-assets/camera_icon.png" style="height: 16px; width: auto; position: relative;"></span></a><span class="camera_right"><div class="room_mdts" data-room="two" title="Номер класса Стандарт">Дополнительная информация</div></span></div></div></li>  
etc.

<div id="room_details_holder">
<div id="room_name_and_close"><button class="room_details_close">X</button>    </div>
<div class="room_details">
<div id="rooms_nav_bar"><button class="room_previous"><<</button>
<div class="room_name"><div id="room_name"></div></div>
<button class="room_next">>></button></div>

<div class="room_exp" title="Room Type 1" data-room="one" data-number="1">
 <div class="room_split_l"><div id="room1_photo"><img src="site-assets/photos/rooms1.jpg"></div> <div class="book"></div> </div>
 <div class="room_split_r"><div class="room_description"> </div>
</div>
</div>
<div class="room_exp" title="Room Type 2" data-room="two" data-number="2">
 <div class="room_split_l"><div id="room2_photo"><img src="site-assets/photos/rooms2.jpg"></div> <div class="book"></div> </div>
  <div class="room_split_r"><div class="room_description"> </div>
 </div>
etc.
我正在使用的javascript: $.room\u mdts.ClickFunction事件{ //击中目标 var target=event.currentTarget; 变量室=$target.dataroom

//First way, by reuse target (only inside this function)
$(target).addClass(room);

//The second, by using selectors

//remove all "selected" classes to all which have both "room" and "selected" classes
$('.room_exp.selected').removeClass("selected");
//add "selected" class to the current room (the selector can also be the target variable)
$('.room_exp[data-room='+room+']').addClass("selected");
});




var currentIndex = 0,
 items = $('.room_details .room_exp'),
 itemAmt = items.length;

function cycleItems() {
 var item = $('.room_details .room_exp').eq(currentIndex);
 items.hide();
 item.css('display','inline-block');
}


 $('.room_next').click(function() {
  currentIndex += 1;
  if (currentIndex > itemAmt - 1) {
  currentIndex = 0;
 }
 cycleItems();
 });

 $('.room_previous').click(function() {
  currentIndex -= 1;
if (currentIndex < 0) {
currentIndex = itemAmt - 1;
 }
 cycleItems();
  $('#room_name').text($('.room_exp:nth-child('+             (currentIndex+1)+')').attr('title'));
});

$('.room_next').click(function(){
$('#room_name').text($('.room_exp:nth-child('+(currentIndex+1)+')').attr('title'));
});
$('.room_previous').click(function(){
$('#room_name').text($('.room_exp:nth-child('+(currentIndex-1)+')').attr('title'));
});
$('#room_name').text($('[style*="inline-block"].room_exp').attr('title'));


});
因此,单击房间列表时,会打开相应的房间exp,旁边有导航按钮“下一个”和“上一个”。问题是,只有在单击“下一个”或“上一个”并将当前索引设置为0后,标题才会在选择房间时显示,因此在单击“下一个”或“上一个”后,幻灯片会转到第二个或最后一个所以,假设我打开了第六张展开幻灯片并按下“下一步”,它会转到第二张而不是第七张。希望,现在已经清楚了 有什么想法吗

这里有一把小提琴:

好的,非常感谢你的小小推动,让我思考

我最终破解了所有的部分,虽然我可能有一些额外的不必要的代码位、副本等,但功能非常完美

我编辑的内容:

我将cycleFunction的一个右括号移到了的末尾。单击函数,即使变量至少对这3个函数是全局的

我将标题编写函数从:$'room\u name'.text$'[style*=inline block].room\u exp.attr'title'

收件人:$'room\u name'.text$'.room\u exp:n子项'+adjIndex+2+.attr'title'

在$'.room\u details\u close.中添加了一些关于.addClass/.removeClass的更改。单击函数{

现在,打开任何缩略图都会立即显示标题右侧的标题,单击可分别将幻灯片更改为下一页和上一页,而标题也会相应更改。关闭展开的菜单并单击不同的缩略图会导致重新写入currentIndex,因此,adjIndex也是如此,因此该函数将在不使用pro的情况下重新启动问题。 请随意使用


新的问题是:

您的var没有名称。var=…是无效的语法。但是,请发布相关代码并解释您面临的问题,现在对我来说,您的问题非常不明确抱歉,当然是我的错。这是一个印刷错误,我在实际代码中有一个名称。$'.div'.attr'title'将始终返回第一个值匹配页面中的元素。您的拆分将返回每个字符。显示相关的html和预期结果。您的问题中没有明确的问题陈述好的,很抱歉这么不清楚。我试图发布一个通用表单,而不是确切的代码。P.S.编辑了代码