Javascript 是否有一种简单的方法来检查给定的选择器字符串是否只指向一个元素?
范例 或许Javascript 是否有一种简单的方法来检查给定的选择器字符串是否只指向一个元素?,javascript,jquery,Javascript,Jquery,范例 或许 $('div.mydiv').checkifonlyone().css('background-color', 'red'); 我希望文档中只有一个具有该类的div,否则应该显示错误消息,脚本应该停止执行吗 你可以自己做: $('div.mydiv').filter(':checkifonlyone').css('background-color', 'red'); 可能看起来像: var myDivs = $('div.mydiv'); if(myDivs.length ===
$('div.mydiv').checkifonlyone().css('background-color', 'red');
我希望文档中只有一个具有该类的div,否则应该显示错误消息,脚本应该停止执行吗 你可以自己做:
$('div.mydiv').filter(':checkifonlyone').css('background-color', 'red');
可能看起来像:
var myDivs = $('div.mydiv');
if(myDivs.length === 1)
{
myDivs.css('background-color', 'red');
}
如果有多个元素,则始终选择第一个元素
或
如果选择器上正好有一个匹配项,则只会更改背景颜色
var $mydiv = $('div.mydiv');
if($mydiv.length === 1) {
$mydiv.css('background-color', 'red');
}
在找那个吗?请记住,jQuery元素是由大多数函数迭代的匹配数组(或者弹出一个顶部元素)。您需要
它将返回选择器中的元素数,然后您可以相应地对该结果执行操作。根据您的标记,您可能可以使用,但您可能需要执行以下操作:
if ( $('div.mydiv').length == 1 ) ....
var $mydiv = $('div.mydiv');
if($mydiv.length === 1) {
$mydiv.css('background-color', 'red');
}
if ( $('div.mydiv').length == 1 ) ....
var $myDiv = $('div.mydiv');
if ($myDiv.length == 1) $myDiv.css('background-color', 'red');