Javascript 如何在jQuery中定义条件属性选择器?
我想将特定类的所有项设置为一个特定值,但如果它有一个特定的属性集,它必须匹配一个条件 例如:Javascript 如何在jQuery中定义条件属性选择器?,javascript,jquery,jquery-selectors,Javascript,Jquery,Jquery Selectors,我想将特定类的所有项设置为一个特定值,但如果它有一个特定的属性集,它必须匹配一个条件 例如: <div class="address"></div> <div class="address" data-address-type="from"></div> <div class="address" data-address-type="to"></div> 上述操作不会更改未定义数据地址类型的元素。尝试以下操作: [数据地址
<div class="address"></div>
<div class="address" data-address-type="from"></div>
<div class="address" data-address-type="to"></div>
上述操作不会更改未定义数据地址类型的元素。尝试以下操作:
[数据地址类型='to']
表示属性
数据地址类型的值
等于
$(".address[data-address-type='to'],.address:not([data-address-type])").text("123 Some Address Road");
为此,您需要在
中使用过滤器()
。address
elements使用时没有数据地址类型
属性的过滤器元素:not([data address type])
或数据地址类型
使用[data address type=“to”]
演示:使用
$(“.address”)
和or的组合。没有条件选择器。使用.filter()
方法。尝试在“to”周围使用引号,它们必须不同于在整个选择器周围使用的撇号。将其改为“to”,然后尝试.Ty@特洛伊木马程序-这是一个打字错误。。。固定的!这不会更改未定义数据地址类型的地址。@Bradley您正在定义“$('.address[data address type='to']')).text('123 Some address Road');
上述内容不会更改未定义数据地址类型的元素。“在我发布答案并现在进行向下投票后???为什么?首先要弄清楚你的问题,礼貌地告知你的编辑,而不是直接投反对票。我认为原始问题中的这句话非常清楚:“但是,如果有数据地址类型,只有数据地址类型是‘to’。”我不会对我的反对票发表评论,但我现在别无选择,因为我不想让OP因为不是他的错而受到牵连。我没有投任何反对票@BoltClock,谢谢-我认为这也很清楚。对不起,我以为你这么做了。[data address type!='to']
基本上与相同:不([data address type='to'])
匹配没有属性的元素。完美。非常感谢。Stackoverflow想让我等几分钟再接受,但就是这样。非常感谢!
$(".address[data-address-type='to'],.address:not([data-address-type])").text("123 Some Address Road");
$('.address').filter(':not([data-address-type]), [data-address-type="to"]').html('')