所以,我有这样的事情.
var $list = $("div#item");
Run Code Online (Sandbox Code Playgroud)
我在看:包含在选择器中,但我不确定是否应用于标记或者我应该做类似的事情:
if($list.find("<b>"))return 1;
else return 0;
Run Code Online (Sandbox Code Playgroud)
推理:为使用内联标记的程序添加功能,并希望维护结构.
目标:if(项目包含内联b,u,i标签)返回1; 否则返回0;
您可以将其简化为单个选择器.find("b,i,u")并返回布尔比较length > 0.如果<b><i><u>在里面找到任何标签#item,总长度将为> 0:
return $("#item").find("b,i,u").length > 0;
Run Code Online (Sandbox Code Playgroud)
编辑:如果你真的想要一个number零或一个后面而不是boolean,使用三元组:
return $("#item").find("b,i,u").length > 0 ? 1 : 0;
Run Code Online (Sandbox Code Playgroud)
return document.querySelector("#item b, #item u, #item i") ? 1 : 0;
Run Code Online (Sandbox Code Playgroud)
不需要jQuery.
如果您需要支持IE7及更早版本的浏览器,请尝试以下方法:
var elem = document.getElementById('item');
return elem.getElementsByTagName('b').length
+ elem.getElementsByTagName('i').length
+ elem.getElementsByTagName('u').length == 0 ? 0 : 1;
Run Code Online (Sandbox Code Playgroud)