Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在jQuery中定义条件属性选择器?_Javascript_Jquery_Jquery Selectors - Fatal编程技术网

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('')