我想将特定类的所有项目设置为特定值,但如果它具有特定的属性集,则必须匹配条件。
示例:
<div class="address"></div>
<div class="address" data-address-type="from"></div>
<div class="address" data-address-type="to"></div>
我想将所有地址设置为“123 Some Address Road”。但是,如果存在数据地址类型,则仅当数据地址类型为“to”时才会使用。
$('.address[data-address-type="to"]').text('123 Some Address Road');
以上内容不会改变未定义data-address-type的元素。
答案 0 :(得分:6)
您需要在filter()
元素中使用.address
过滤元素,这些元素使用data-address-type
或:not([data-address-type])
不具有data-address-type
属性使用to
[data-address-type="to"]
$('.address').filter(':not([data-address-type]), [data-address-type="to"]').html('')
演示:Fiddle
答案 1 :(得分:3)
试试这个:
[data-address-type='to']
表示attribute
数据地址类型,value
等于。
$(".address[data-address-type='to'],.address:not([data-address-type])").text("123 Some Address Road");
答案 2 :(得分:0)
使用$(".address")
和Attribute Equals Selector或Attribute Not Equal Selector的组合。