按标签属性查找具有多个值的元素

时间:2014-07-03 16:00:18

标签: javascript jquery html

给出以下html:

<div class="displayBox grid_8" tags="Name:name;Title:title;Program:program;Client:client">

如何使用带有Jquery的标签名称,程序和客户端找到此元素? 我之前使用过:

 $("div[tags^='Name:" + SelectedExam + "']")

但不再是这种情况,因为div必须改为包含其他标签。

3 个答案:

答案 0 :(得分:1)

是否存在将所有信息保留在“tags”属性中的约束?

分成其他属性要简单得多。

<div data-name="name" data-program="program"></div>

等等。

答案 1 :(得分:1)

将选择器中的^更改为*

^表示'以'开头',而*表示'包含'

并用分号关闭您的选择器,因为您的标签是由它分隔的。这样你就可以避免选择不同的标签,比如'apple'和'apple-juice'

Demo

JS:

$(function () {
    var SelectedExam="title";
    $("div[tags*='Title:" + SelectedExam + ";']").remove();
});

答案 2 :(得分:1)

我不认为jQuery支持这个(如果有人纠正我会很高兴)。我要做的是:

$("div[tags^='Name:']").each(function() {
  $div = $(this);
  $div.attr('tags').split(';').forEach(function(p) {
    pair = p.split(':');
    $div.attr(p[0], p[1]);
  });
});

// Now you should be able to select $("div[Name='val1'][Title='val2']")