我有一个值为1到16的列表,如
$('#IDul_WeekSelector li:contains("1")').addClass('active');
我想根据文本值添加一个类。我试过这个
/^1$/
问题是我在1和10上都有点击。是否有完全匹配的版本?我查看了其他可用的内容过滤器,但我没有看到。正则表达式可能如下所示:{{1}}
答案 0 :(得分:1)
您可以利用data-*
属性来使用属性选择器,然后执行以下操作:
(当然,这意味着您需要更改HTML
以包含data
属性)
$(document).ready(function() {
var num = 1;
$('#IDul_WeekSelector li[data-value="' + num + '"]').addClass('active');
});

.active {
font-weight: bold;
background-color: yellow;
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="IDul_WeekSelector">
<li data-value="1">1</li>
<li data-value="2">2</li>
<li data-value="3">3</li>
<li data-value="4">4</li>
<li data-value="5">5</li>
<li data-value="6">6</li>
<li data-value="7">7</li>
<li data-value="8">8</li>
<li data-value="9">9</li>
<li data-value="10">10</li>
<li data-value="11">11</li>
<li data-value="12">12</li>
<li data-value="13">13</li>
<li data-value="14">14</li>
<li data-value="15">15</li>
<li data-value="16">16</li>
</div>
&#13;
如果您无法修改HTML
,那么您可以使用.filter
功能并在此时添加CSS
课程:
$(document).ready(function() {
var num = 1,
li = $('#IDul_WeekSelector li');
li = li.filter(function() {
return $(this).text() == num;
});
li.addClass('active');
});
&#13;
.active {
font-weight: bold;
background-color: yellow;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="IDul_WeekSelector">
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>6</li>
<li>7</li>
<li>8</li>
<li>9</li>
<li>10</li>
<li>11</li>
<li>12</li>
<li>13</li>
<li>14</li>
<li>15</li>
<li>16</li>
</div>
&#13;
答案 1 :(得分:0)
是否有
$size = get-psdrive c echo $size.used
选择器的完全匹配版本?
不,默认jQuery API中没有任何内容,因此您必须创建自己的选择器,或使用.filter
自定义功能。两者都不是特别困难。
使用:contains()
的示例是:
.filter