我正在尝试选择一个具有空格或某个特征的数据属性值,但它不太喜欢它.下面是我为一个措辞属性值工作的代码.
$('div[data-roomtype='+$(this).data('roomtype')+']').animate({opacity:0.1},100);
Run Code Online (Sandbox Code Playgroud)
而且我还把我希望实现的非常简化的小提琴(http://jsfiddle.net/Tse6k/2/)放在一起.有一个简单的解决方案吗?任何帮助或建议将不胜感激.
我有这个基本的HTML:
<div id ="div1" data-pagenumber="0001">First page</div>
<div id = "div2"></div>
Run Code Online (Sandbox Code Playgroud)
和我的jQuery:
var number = $('#div1').data('pagenumber')
$('#div2').append(number);
Run Code Online (Sandbox Code Playgroud)
小提琴:http://jsfiddle.net/JabUS/
为什么里面的文字div2设置为1?在我看来,像jQuery自动转换我的价值.如何阻止此转换,以便像这样打印0001?
这适用于第一场比赛:
var attributeValue = $({selector}).data("myAttribute");
Run Code Online (Sandbox Code Playgroud)
但是如果我想获取所有元素选择器匹配的值,我会执行以下操作:
var attributes = [];
$.each($({selector})), function(k,v) { attributes.push($(v).data("myAttribute")); });
Run Code Online (Sandbox Code Playgroud)
这感觉很愚蠢.是否有更简单的方法来获取所有元素的数据?
假设我正在寻找具有属性'data-language'的所有元素,其值以'java'开头(将匹配'java'和'javascript').我知道怎么做:
$('[data-language^="java"]')
Run Code Online (Sandbox Code Playgroud)
但我的问题是:如何获得具有属性的所有元素(不是属性的值,而是实际的属性名称本身)以某些东西开头?例如:
javascript jquery css-selectors jquery-selectors custom-data-attribute
如何使用jQuery的数据属性获取输入值?这是我的功能无法正常工作.valuefromcenariotwo的返回值应该是"我的测试2"
var valuefromscenariotwo = getvaluefromScenariotwo("scenario2");
function getvaluefromScenariotwo(name){
return $(input[data-scenario=name]).val();
}
<div class="form-group">
<input type="text" data-scenario="scenario1" class="form-control notes" placeholder="Enter Notes" value="My test 1">
</div>;
<div class="form-group">
<input type="text" data-scenario="scenario2" class="form-control notes" placeholder="Enter Notes" value="My test 2">
</div>;
<div class="form-group">
<input type="text" data-scenario="scenario3" class="form-control notes" placeholder="Enter Notes" value="My test 3">
</div>;
Run Code Online (Sandbox Code Playgroud) 我有以下代码:
$nav_menu_args = array('fallback_cb' => '','menu' => 'menu', 'menu_class' => 'menu_class');
$x = wp_nav_menu( apply_filters( 'widget_nav_menu_args', $nav_menu_args, 'menu', $args ) );
$pattern = '#<ul([^>]*)>#i';
$replacement = '<ul$1 data-attr="abc">'; // this is a wrong
echo preg_replace( $pattern, $replacement, $x );
Run Code Online (Sandbox Code Playgroud)
我想一个添加data-attr到ul通过改变模式,而无需通过更改Walker_Nav_Menu.
我想要做的是有一个这样的列表:
<ul class="menu_class" data-attr="abc">
<li><li>
<li>
<ul>
<li></li>
</ul>
<li>
</ul>
Run Code Online (Sandbox Code Playgroud)
但是我也data-attr喜欢这样的内心.
<ul class="menu_class" data-attr="abc">
<li><li>
<li>
<ul data-attr="abc">
<li></li>
</ul>
<li>
</ul>
Run Code Online (Sandbox Code Playgroud)
我错过了什么?
我想在包装器div下找到并选择所有具有数据属性以"data-qu"开头的元素.如何使用jquery执行此操作?
HTML
<div class="wrapper">
<div data-qu-lw="1"></div>
<div data-qu-md="2"></div>
<div data-res-kl="1"></div>
<div data-qu-lg="3"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
有没有办法选择那些,像这样$('.wrapper').find('^data-qu')或类似?
html javascript jquery jquery-selectors custom-data-attribute
我试图选择某个类的一些div元素但没有某些数据属性.例如,我有12个div,数据属性从1到12,我想选择所有这些除了数据属性为1,11和12的那些.这是我的(不工作)代码到目前为止:
$('div.randomize_class [data-value!=1],[data-value!=11],[data-value!=12]');
Run Code Online (Sandbox Code Playgroud)
目的是仅对匹配的div进行洗牌,并最终在结尾追加属性为1,11和12的div.混洗功能很好地工作,它只是选择选择类的一个子集.
所以在洗牌之后,我想只选择那些数据属性为1,11和12的人.我试过这个:
$('.randomize_class [data-value=1],[data-value=11],[data-value=12]')
Run Code Online (Sandbox Code Playgroud)
很高兴得到任何帮助!非常感谢你.
我有这个selectJSX:
<select className="form-control" onChange={this.onChange} value={this.props.value}>
{options}
</select>
Run Code Online (Sandbox Code Playgroud)
选项是:
var options = this.props.options.map((option) => {
return (<option key={option.slug} value={option.slug} data-country={option.country} data-continent={option.continent}>{option.value}</option>);
});
Run Code Online (Sandbox Code Playgroud)
但是我无法访问所选data-country的选项,因为该值是由e.target.value,并且e.target.dataset是select标记的数据集,而不是选项选项标记:
onChange: function(e) {
this.props.onChange(this.props.name, e.target.value, e.target.dataset.continent, e.target.dataset.country);
},
Run Code Online (Sandbox Code Playgroud)
有没有解决这个问题?
谢谢
我的目标是将一些jQuery添加到一个项目中,该项目将检查元素是否data-attribute没有值.例如,使用video标签,您只需添加autoplay一个没有值的标签,它将自动播放.我试图做同样的事情,并想知道是否可能.这是我尝试过的,但它目前正在返回false:
$(function() {
$('div').click(function() {
if ($(this).attr('data-specs')) {
console.log('has specs');
} else {
console.log('no specs');
}
});
});Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div data-specs>Specs</div>Run Code Online (Sandbox Code Playgroud)
jquery ×8
javascript ×4
html ×2
html5 ×1
jquery-data ×1
menu ×1
nav ×1
php ×1
reactjs ×1
wordpress ×1