我想通过数据属性而不是类来使用这个show/hide函数,但是我很难获得正确的语法.
我知道它是这样的,$("li[data-color=" + this.value + "]").show();但我无法让它工作和/或修改功能,以便它的工作原理.
我正在使用该功能通过各种属性(即颜色,产品类别,场合等)过滤服装,我在这里发布了一个简单示例的小提琴:http://jsfiddle.net/chayacooper/WZpMh/4 /
$('#filterOptions li a').click(function () {
var ourClass = $(this).attr('class');
$('#filterOptions li').removeClass('active');
$(this).parent().addClass('active');
if (ourClass == 'all') {
$('#content').find('.item').show();
} else {
$('#content').find('.item:not(.' + ourClass + ')').hide();
$('#content').find('.item.' + ourClass).show();
}
return false;
});
Run Code Online (Sandbox Code Playgroud) 如何将 HTML 数据属性添加到 jQuery 生成的<select> <option>. 我有以下代码,它以编程方式设置<options>Ajax 查询结果中的选择。
$request.then(function (data) {
var p_id = $("[name='property_id']").val() || -1;
for (var d = 0, l = data.length; d < l; d++) {
var item = data[d];
var option = new Option(item.text, item.id, false, (item.id === p_id ? true : false));
// this doesnt work
option.data('data-owner_id') = item.owner_id;
option.data('data-property_id') = item.property_id;
$element.append(option);
}
$element.trigger('change');
});
Run Code Online (Sandbox Code Playgroud) 无法找到此问题或现有问题的任何答案。
当我尝试向元素添加用户 ID 或任何类型的数据属性时,如果我使用任意字符串,它就可以正常工作。很快,我使用数据字符串,数据属性从元素中完全消失。
有人对为什么会发生这种情况有一些合乎逻辑的答案吗?下面是一个示例,我尝试将用户 ID 添加到容器中,以便我可以检索所选用户。“数据用户id='{{item.user_id}}'”
<template is="dom-repeat" items="{{data}}">
<div on-tap="_userClick" data-userid="{{item.user_id}}" class="user-contain">
<user-display user-id="{{item.user_id}}" style="float:left;"></user-display>
</div>
</template>
Run Code Online (Sandbox Code Playgroud)
谢谢大家。
我看了很多主题,但我仍然没有答案。
情况:我有一个打开模态弹出框的链接
<a class="pointer" data-filtre='non' data-toggle="modal" data-target="#myModalAnnexeDe" >
<a class="pointer" data-filtre="oui" data-toggle="modal" data-target="#myModalAnnexeDe" >
Run Code Online (Sandbox Code Playgroud)
我有我的js
$('#myModalAnnexeDe').on('show.bs.modal', function (event) {
var filtre=$(event.relatedTarget).attr('data-filtre');
alert($(event.relatedTarget).attr("data-filtre"));
if(filtre == 'oui'){
$('.notform').hide();
}
});
Run Code Online (Sandbox Code Playgroud)
警报的结果是“未定义”
我也尝试:
$(event.relatedTarget).attr('data-filtre')
$(event.relatedTarget).data('filtre')
$(event.relatedTarget).data($('a'),'filtre')
$(event.relatedTarget).data(a,'filtre')
$(event.relatedTarget).attr(filtre)
$(event.relatedTarget).attr('filtre')
$(event.relatedTarget).dataset.filtre
$(this).attr("data-filtre")
...
Run Code Online (Sandbox Code Playgroud)
也许还有很多其他人......
关于 bootstrap 文档中的 show.bs.modal 和 event.relatedTarget :
show.bs.modal 该事件在调用 show 实例方法时立即触发。如果由单击引起,则被单击的元素可用作事件的 relatedTarget 属性。
提前致谢。
我正在尝试使用该jquery.data方法从节点服务器中检索一堆项目的ID,并将其作为attror 保存为每个项目,data并在以后用于更新项目。
但是该属性始终返回“未定义”。
我试过了.data,.attr两者都有相同的结果。详细说明:我想做的是从服务器中获取元素列表,为每个动态创建li标签,然后以某种方式将来自服务器的ID嵌入到每个创建的HTML元素中,作为自定义属性或ID。我究竟做错了什么?还有另一种方法吗?
var test = "<p>Hello</p>";
$(test).data("id", 1);
console.log($(test).data("id")); //undefinedRun Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>Run Code Online (Sandbox Code Playgroud)
我有以下几点:
Html::a('Link', ['some/route'], [
'class' => 'btn btn-lg btn-primary', // WORKS
'style' => 'padding: 100px;', // WORKS
'data-id' => 123, // DOES NOT WORK
'data' => [
'id' => 123, // DOES NOT WORK
],
]);
Run Code Online (Sandbox Code Playgroud)
根据docs,helper 中的两个指定data-*属性都Html::a应该在 HTML 输出中呈现它们各自的属性,但它们没有,我不明白为什么。
关于renderTagAttributes 的Yii 2 文档还说明了以下内容:
呈现 HTML 标记属性。
值为布尔类型的属性将被视为布尔属性。
不会呈现值为 null 的属性。
属性的值将使用 encode() 进行 HTML 编码。
“data”属性在接收数组值时会被特殊处理。在这种情况下,数组将被“扩展”并呈现一个列表数据属性。例如,如果 'data' => ['id' => 1, 'name' => 'yii'],则将呈现:data-id="1" data-name="yii"。另外 'data' => ['params' => ['id' => …
我试图从这个网站上抓取所有职业页面:http://wearemadeinny.com/find-a-job/
我尝试了下面的内容,但遗憾的是,当您点击其中一个公司页面时,只显示href:
from lxml import html
import requests
page = requests.get("http://wearemadeinny.com/find-a-job/")
tree = lxml.html.fromstring(page.text)
jobs = tree.xpath('//*[@id="venue-hiring"]/a/@href')
links = [x for x in jobs]
print links
Run Code Online (Sandbox Code Playgroud)
我注意到每个都<li>包含html数据属性,其中包含作业页面URL.那么,是否有可能从每个数据中删除data-hiringurl属性<li>.如果没有lxml和XPath选择器是他们的其他选择?
这是<li>我想要从中获取的元素之一.我特意想拉数据-hiringurl ="http://www.admeld.com/about/jobs/"这个元素的xpath是//*[@ id ="v7"]
<li id="v7" data-vid="7" data-name="Admeld" data-address="230 Park Avenue South Suite 1201" data-lat="40.7378349" data-long="-73.9886703" data-url="http://www.admeld.com/" data-hiring="1" data-hiringurl="http://www.admeld.com/about/jobs/" data-whynyc="" data-category="1"><a href="#" class="list-digital">
<span class="venue-name">Admeld</span><br>
<span class="venue-address">230 Park Avenue South</span>
<br><span class="venue-hiring">We are hiring!</span>
</a>
</li>
Run Code Online (Sandbox Code Playgroud) 我的代码看起来像这样:
<ul class="effects-list">
<li data-creative="1">Creative</li>
<li data-uplifted="3">Uplifted</li>
<li data-energetic="3">Energetic</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
然后Javascript读取数据属性:
$(function() {
var effectData = $('.effects-list li');
var creative = effectData.data("creative");
var uplifted = effectData.data("uplifted");
var energetic = effectData.data("energetic");
console.log(creative);
console.log(uplifted);
console.log(energetic);
});
Run Code Online (Sandbox Code Playgroud)
我在控制台日志中结束了这个:
1
undefined
undefined
Run Code Online (Sandbox Code Playgroud)
为什么脚本在第一个li元素中读取信息而不是在后两个元素中读取信息?
我有什么问题,如何解决问题?
我想建立一些互动周计划.我使用html表来显示计划.每个表格行对应于一周中的一天,而每个表格单元格表示一天中的某一部分(例如"早晨","中午"等).该表以模板部分呈现.要与表的每个字段进行交互,我将数据属性绑定到每个字段.为了防止冗余,我想将相应的日期绑定到表行的数据属性而不是每个单个表单元格.我的问题是,在该模板的事件处理程序中,如果单击表格单元格,如何访问相应父表行的数据属性?
week-plan.html看起来像
<template name="weekPlan">
...
<tbody>
{{#each daysOfWeek}}
{{> dayDataRow weekDay=day weekDayDate=date}}
{{/each}}
</tbody>
...
</template>
Run Code Online (Sandbox Code Playgroud)
day-data-row.html看起来像
<template name="dayDataRow">
<tr class="week-plan--date" data-date="{{weekDayDate}}">
<td class="week-plan--day">{{weekDay}}</td>
<td class="week-plan--item" data-my-data="morning"></td>
<td class="week-plan--item" data-my-data="noon"></td>
<td class="week-plan--item" data-my-data="afternoon"></td>
<td class="week-plan--item" data-my-data="evening"></td>
<td class="week-plan--item" data-my-data="night"></td>
</tr>
</template>
Run Code Online (Sandbox Code Playgroud)
week-plan.js看起来像:
Template.weekPlan.helpers({
daysOfWeek: function(){
var today = new Date();
var firstOfWeek = today.getDate() - today.getDay() + 1;
var weekDays = ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'];
weekArray = new Array();
var row = 0;
for (row; row < …Run Code Online (Sandbox Code Playgroud) 我正在尝试迭代获取数据属性并将其存储到变量,但我得到了
未捕获的SyntaxError:意外的令牌{
const monthButton = document.querySelector('.month'),
annualButton = document.querySelector('.annualy'),
price = document.querySelectorAll('.price');
monthButton.addEventListener('click', function{
for(var i=0; i>=4; i++){
const dataMonth[i] = price[i].dataset.monthly;
}
})
Run Code Online (Sandbox Code Playgroud)