如何根据前面定义的变量选择器选择具有属性的元素?

Posted

技术标签:

【中文标题】如何根据前面定义的变量选择器选择具有属性的元素?【英文标题】:How to select an element with attribute based on variable selector which is defined earlier? 【发布时间】:2020-03-24 00:03:25 【问题描述】:
var $label = $('label');

//How can I select a `label` using attribute selector, something like below.
$label['data-id=1'].text('some value');
//There is no such a syntax, I am just trying to explain what I need to do.

For more complete example, please visit this jsfiddle link

【问题讨论】:

您是在问如何通过data 属性选择元素? 你想动态替换标签的值来匹配id吗? 这感觉就像您正在尝试从您之前找到的集合中找到带有 data-id 的元素?在这种情况下,$label.filter('[data-id=1]') 应该可以工作。查看 jQuery 文档中的 filter() 不完全是。我在问我之前是否在变量中选择了一个标签,那么我如何选择一个具有数据属性的 div,例如,该值是 1,以防我在变量的顶部选择,在这种情况下是 var是 $label。 你是这个意思吗:$('data-id='+$label+').text('some value'); 【参考方案1】:

您可以利用filter$label获取匹配的id标签,然后设置文本值。见下面代码

  var $label = $('label');

  var id = $(this).find('.form-control-data-id').text();
  var val = $(this).find('.form-control').val();
  $label.filter(function()
    return id == $(this).data('id');
  ).text(val);

JSFiddle Demo

【讨论】:

以上是关于如何根据前面定义的变量选择器选择具有属性的元素?的主要内容,如果未能解决你的问题,请参考以下文章

js选择器

伪元素(对象)选择器

如何根据部分数据属性选择元素?

对于jQuery选择器和动画效果停止动画的实战心得前端jQuery框架

我有一个基于所选城市长度不同的对象数组。如何选择包含具有特定属性的对象的元素?

如何编写 CSS 选择器选择不具有特定属性的元素?