我有以下场景:
var el = 'li';
Run Code Online (Sandbox Code Playgroud)
<li>页面上有5个,每个都有一个data-slide=number属性(数字分别为1,2,3,4,5).
我现在需要找到当前活动的幻灯片编号,该编号映射到var current = $('ul').data(current);每个幻灯片更改并更新.
到目前为止,我的尝试都没有成功,尝试构建与当前幻灯片匹配的选择器:
$('ul').find(el+[data-slide=+current+]);
Run Code Online (Sandbox Code Playgroud)
不匹配/返回任何东西......
我无法硬编码li部件的原因是,这是一个用户可访问的变量,如果需要可以更改为不同的元素,因此它可能并不总是一个li.
关于我缺少的任何想法?
我想知道哪些选择器可用于HTML5附带的这些数据属性.
以这段HTML为例:
<ul data-group="Companies">
<li data-company="Microsoft"></li>
<li data-company="Google"></li>
<li data-company ="Facebook"></li>
</ul>
Run Code Online (Sandbox Code Playgroud)
是否有选择器:
data-company="Microsoft"下方"Companies"data-company!="Microsoft"下方"Companies"可能重复:
按数据属性选择元素
我正在尝试收听具有特定数据属性的元素被点击但我似乎无法点击工作,我确信我的东西很容易让我失踪.我有
<a href="/home" data-spinner="true" />
Run Code Online (Sandbox Code Playgroud)
$.data('record').click(function() {
//Do Action
});
Run Code Online (Sandbox Code Playgroud)
我有变化.我的问题是,如何在点击时使用数据属性?
可能重复:
HTML5上自定义数据属性的Jquery选择器
如何选择tdhtml数据属性等于某个值的所有内容?
EG 小提琴
$("td").dblclick(function (e) {
var columnNumber = $(this).data('column');
console.log(columnNumber);
$("td column=" + columnNumber).css('background-color', 'blue');;
});
Run Code Online (Sandbox Code Playgroud) 有没有办法在jQuery中选择在数据属性数组中具有特定值的元素?
考虑一下这个html片段:
<li id="person1" data-city="Boston, New York, San Fransisco">
Person name 1
</li>
<li id="person2" data-city="Los Angeles, New York, Washington">
Person name 2
</li>
Run Code Online (Sandbox Code Playgroud)
jQuery中选择数据城市属性中所有"纽约"人物的最佳方法是什么?
解决方案应该考虑到某些城市名称出现在其他城市名称中(例如2:伦敦,新伦敦)
例2:
<li id="person1" data-city="Boston, London, San Fransisco">
Person name 1
</li>
<li id="person2" data-city="Los Angeles, Washington, New London">
Person name 2
</li>
Run Code Online (Sandbox Code Playgroud)
在jQuery中选择数据城市属性中所有"伦敦"的人的最佳方法是什么?不应选择带有"新伦敦"的城市.
我正在使用JQuery UI Tooltip和AJAX来验证表单.
我正在为每个字段使用一个工具提示,我正在根据我的AJAX返回的错误更改此工具提示的内容.
为了使我的代码完整,我需要测试工具提示是否已经为此字段初始化(更改内容),否则(创建工具提示).
问题是我不知道检查工具提示是否初始化的任何情感方法.
HTML:
<input type="text" id="text1"/>
<input type="text" id="text2"/>
Run Code Online (Sandbox Code Playgroud)
我尝试了以下但是他们都无法测试工具提示是否已经创建.
JQUERY:
if($("#text1").tooltip() != null) //or $("#text1").tooltip() != 'undefined'
//does'nt work because .tooltip() always return an object.
if(typeof $("#text1").tooltip() != null)//or typeof $("#text1").tooltip() != 'undefined'
//does'nt work always return an object.
if($("#text1").tooltip().hasOwnProperty('option'))//or $("#text1").tooltip().hasOwnProperty('content')
//does'nt work it always return false.
Run Code Online (Sandbox Code Playgroud)
如果有人可以帮我找到一种方法来检查工具提示是否存在,那就非常感激了
谢谢!
我的应用程序使用 Parse 后端来保存我和我的朋友感兴趣的我所在地区所有音乐会的运行列表。
在主页上,我使用解析查询为数据库中存储的每个节目显示一个模块。创建每个模块时,我使用此代码将数据属性添加到节目的最外层 div,对应于解析中节目的对象 ID:
var showId = object.id;
$("div.show_module:last").data("showId", showId);
Run Code Online (Sandbox Code Playgroud)
当用户单击节目的模块时,我能够成功检索特定节目的 showId:
$("#showsList").delegate(".showModuleBody", "click", function() {
var storeObjectId = $(this).closest("div.show_module").data("showId");
});
Run Code Online (Sandbox Code Playgroud)
一切都很好,证明分配数据属性是有效的。
我遇到麻烦的地方是尝试在给定页面上查找具有特定数据属性或该属性的特定值的元素。最终目标是获取该 div 的 y 偏移量,以便我可以将页面滚动到适当的位置。我以为我可以使用以下代码来查找该元素,但它不起作用 -
// find all elements with class .show_module
var allShows = document.querySelectorAll('.show_module');
// find all elements with showId data attribute
var showsWithShowId = document.querySelectorAll('[data-showId]');
// find all elements with a specific showId data attribute
var showToFind = document.querySelectorAll("[data-showId='2']");
Run Code Online (Sandbox Code Playgroud)
这三个查询中的第一个有效,证明在我调用此函数时,我感兴趣的所有元素都已加载到页面中,但第二个和第三个查询不返回任何内容。
知道我在这里做错了什么吗?与语法有关吗?querySelectorAll 是否与我设置数据属性的方式不兼容?
我尝试只包含我认为重要的代码部分,但如果需要更多内容,请告诉我。
你能否告诉我如何通过自定义属性获取特定图像的值.例如,我有:
<img class="image"
identif="<?php echo $j; ?>"
id="<?php echo $id; ?>"
src="../<?php echo $sqlg[$pic] ?>"
h="<?php echo $heightl; ?>"
w="<?php echo $widthl ?>"
height="<?php echo $height; ?>px"
width="<?php echo $width; ?>px"
title="Double-click to enlarge image" />
Run Code Online (Sandbox Code Playgroud)
我希望在jquery中通过"identify"属性获取图像的"src",谢谢:)
所以我有一个简单的UL页面,它应该在运行时通过AJAX调用和JSON响应填充.
$(".select-brands").append("<li data-value=" + manufacturerName + ">" + manufacturer + "</li>");
Run Code Online (Sandbox Code Playgroud)
在此之后我使用该数据值属性以滚动到与用户在不同选择框中选择的元素相同名称的元素.因此,当他们选择Harley Davidson图片时,jQuery会查找for的元素
data-value="HARLEY-DAVIDSON"
Run Code Online (Sandbox Code Playgroud)
然而,结果不是我所期望的,而不是那个数据值我反而得到这样的元素
<li data-value="HARLEY" davidson="">HARLEY DAVIDSON</li>
Run Code Online (Sandbox Code Playgroud)
我该如何制作它以便我可以根据这个名称选择元素?可以通过li标签内的文本来完成吗?
// Get corresponding brand on list by custom data-value attribute //
var listBrand = $('li[data-value="'+ selectedBrand.toUpperCase() +'"]');
var parent = $('#brands-select');
var index = listBrand.index();
parent.animate({
scrollTop: $('#brands-select li:nth-child('+ index +')').position().top - $('#brands-select li:first').position().top
}, 'slow');
Run Code Online (Sandbox Code Playgroud)
这是我用来滚动到所选元素的代码.
是否可以找到<div>具有某些特定" data-name"属性值的?
例如:我需要找到<div data-name="place">动态包含一些代码.
我正在编写 Angular 单元测试,并且想要按属性查询/获取自定义文本框的值,data-qa例如https://dev.to/chriszie/data-qa-attribute-a-better-way-to-select-elements-for -ui-test-automation-48lm。
如何才能做到这一点?
<app-textbox
type="text"
data-qa="productname"
>
</app-textbox>
Run Code Online (Sandbox Code Playgroud)
describe('ProductComponent', () => {
let component: ProductComponent;
let fixture: ComponentFixture<ProductComponent>;
it('test value', () => {
let data = fixture.debugElement.query(By -- (not sure what to write here)
});
Run Code Online (Sandbox Code Playgroud)