我有一个带有范围和jquery搜索的IP管理脚本来检查是否已经使用了IP,我为每个行添加了该范围的IP的类,如下所示
<tr class="table_176 213.5.176.120 213.5.176.121 213.5.176.122 213.5.176.123 213.5.176.124" id="213.5.176.120-124" style="display:none;">
<td class="actualip" align="center" >213.5.176.120-124</td>
<td >5</td>
<td colspan="2" align="center" ><a href="https://www.racksrv.com/portal/staff/clientssummary.php?userid=637" target="_blank"> Mike Burkett</a></td>
<td align="center" ><a href="https://www.racksrv.com/portal/staff/clientshosting.php?userid=637&id=1537">RS96</a></td>
<td ></td>
<td align="center" ><a href="https://www.racksrv.com/portal/staff/supporttickets.php?action=open&userid=637" target="_blank"><img src="https://www.racksrv.com/portal/staff/images/icons/ticketsopen.png" alt="Open Ticket for " title="Open Ticket for " width="16" height="16"/></a></td>
</tr>
并使用以下JQ
$('#search').click(function() {
$found = false;
$ip = $('#value').val();
if ( $("."+$ip).length ){
alert("found");
}
if($found == false) {
alert('The IP you searched for was not found!');
}
});
但这不起作用?有人有任何想法吗?
答案 0 :(得分:1)
由于评论表明您的问题是由您的班级名称中的点引起的,如果您 将IP地址存储在类名中,那么这样的事情就可以了 -
var ip = '213.5.176.120';
if ($("tr[class*='" + ip + "']").length){
alert("found");
}
答案 1 :(得分:0)
首先,我很确定点(。)在类名中无效,即使它们是,我也不会使用它们。那是令人困惑的。 顺便说一句,根据规格,课程不能以数字开头。
所有CSS语法在ASCII范围内都不区分大小写(即,[a-z]和[A-Z]是等效的),但不受CSS控制的部分除外。例如,HTML属性“id”和“class”,字体名称和URI的值的区分大小写超出了本规范的范围。请特别注意,元素名称在HTML中不区分大小写,但在XML中区分大小写。 在CSS中,标识符(包括选择器中的元素名称,类和ID)只能包含字符[a-zA-Z0-9]和ISO 10646字符U + 00A0及更高,加上连字符( - )和下划线( _);它们不能以数字,两个连字符或连字符后跟数字开头。标识符还可以包含转义字符和任何ISO 10646字符作为数字代码(请参阅下一项)。例如,标识符“B&amp; W?”可以写成“B \&amp; W \?”或“B \ 26 W \ 3F”。
其次,你不应该使用class来存储元数据,jQuery提供了一种方便的方法来实现它,它简称为data()
。
保持课程的内容,CSS。
答案 2 :(得分:0)
正如其他人所说,问题在于你的班级。用下划线简单地替换这些点并使用类名中的那些点很容易。这是一个快速而肮脏的例子:http://jsfiddle.net/LFfwZ/
答案 3 :(得分:0)
我自己的错误已经回答了
“$('。213.5.176.120')&lt; =&gt; class =”213 5 176 120“应避免使用类名中的点(或在jQ选择器中转义)”