我遇到的问题是根据其子的内容选择(隐藏/显示)列表项
我不能添加或更改id或类(这些由crm设置,会有所不同)
我需要根据所选内容隐藏/显示信息。例如,"隐藏类类型为"Title"的子div中包含单词"Accommodation Type"的列表项"
所以它会隐藏这个列表项:请只隐藏子div中具有容纳类型的列表项。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>New Web Project</title>
<script src="jquery.min.js"></script>
<script>
$(document).ready(function()
{
$("li").
var title = $("li").find('div[class=Title]').html();
if(title == "Accommodation Type")
{
$('div[class=Title]').parent().parent().hide();
}
});
</script>
</head>
<body>
<ul>
<li>
<div class="Group">
<div class="Title">Accommodation Type</div>
<div class="Item">
<select>
<option value="">-- Please select --</option>
<option value="30393382">Motel</option>
<option value="30393383">Hotel</option>
</select>
</div>
</div>
</li>
<li>
<div class="Group">
<div class="Title">Adults</div>
<div class="Item">
<select>
<option value="">-- Please select --</option>
<option value="30393382">1 Adult</option>
<option value="30393383">2 Adults</option>
</select>
</div>
</div>
</li>
</ul>
</body>
</html>
您可以将:has
选择器与:contains
选择器一起使用
$("li:has(div.Title:contains('Accommodation Type'))").hide();
Fiddle Here:http://jsfiddle.net/8k5tnpjm/
您可以使用迭代器来测试每个li
的内部内容,如下所示:
$('li').each(function(index, elm) {
var title = $(this).find('div[class=Title]').html();
if (title == 'Accommodation Type') {
$(elm).hide();
} else {
$(elm).show();
}
});