使用纯JavaScript(而不是jQuery),有没有一种方法可以测试一个元素是否包含一个类?
目前,我这样做:
HTML:
var test = document.getElementById("test");
var testClass = test.className;
switch (testClass) {
case "class1":
test.innerHTML = "I have class1";
break;
case "class2":
test.innerHTML = "I have class2";
break;
case "class3":
test.innerHTML = "I have class3";
break;
case "class4":
test.innerHTML = "I have class4";
break;
default:
test.innerHTML = "";
}Run Code Online (Sandbox Code Playgroud)
JS:
<div id="test" class="class1"></div>Run Code Online (Sandbox Code Playgroud)
这导致此输出,这是正确的:
<div id="test" class="class1 class5"></div>
Run Code Online (Sandbox Code Playgroud)
问题是,如果我将HTML更改为此...
var test = document.getElementById("test");
var testClass = test.className;
switch (testClass) {
case "class1":
test.innerHTML = "I have …Run Code Online (Sandbox Code Playgroud) 干我有这样的元素
<span class='a.b'>
Run Code Online (Sandbox Code Playgroud)
不幸的是,这个类名来自电子商务应用程序,无法更改.
我可以设置带有点的类名称吗?
喜欢
.a.b { }
Run Code Online (Sandbox Code Playgroud) 我试图找出如何检索类属性的第二个类名.
<div class="something fooBar"></div>
Run Code Online (Sandbox Code Playgroud)
如何获得名为"fooBar"的第二个类?
我知道你可以添加,删除和检查特定的类,但我找不到文档如何将第二个类检索到变量中.
我刚开始第一次使用jquery,所以我不确定我所做的是否正确.我正在尝试做的是非常基本的,我有一个脚本,它在MVC视图中加载时向文本框添加css水印.
要选择元素,请执行以下操作:
jQuery(document).ready(function(){$('#Department.DeptName').addWatermark('input-watermarked', 'test');});
Run Code Online (Sandbox Code Playgroud)
然后在我的脚本中添加css水印类,它在"this.val().length"语句中失败.
jQuery.fn.toggleWatermark = function(watermarkedClass, watermarkText) {
if (this.hasClass(watermarkedClass)) {
this.removeWatermark(watermarkedClass);
}
else if (this.val().length == 0) {
this.addClass(watermarkedClass);
this.val(watermarkText);
}
Run Code Online (Sandbox Code Playgroud)
}
该脚本在元素id为"DepartmentDeptName"时工作正常,就好像当元素id在其中包含一个点时,选择器不起作用.有谁知道为什么或如何解决这个问题?
什么是(全)有效/允许的字符集为CSS标识字符id和class?
是否有可用于验证的正则表达式?浏览器不可知吗?
关于HTML 类属性,它将CSS类(或类?)分配给标记.空间的使用,如在
<tag class="a b">....</tag>
Run Code Online (Sandbox Code Playgroud)
已验证?
某些Web设计人员使用此语法,并将其发生到Adobe InDesign的导出HTML(使用版本5和6进行测试)以及另一个HTML生成软件......
It(class="a b")是一个有效的W3C语法? 什么版本的CSS和HTML?(从哪个版本开始有效?)
编辑:一个自然的子问题 "W3C说如何解释它?" (这是"覆盖"或其他再现行为?)在这里发布.
/在html/css中使用类名是否有效?
// html
<div class="/10"></div>
// css
./10{ float:left; }
Run Code Online (Sandbox Code Playgroud) 我使用D3创建了一个力导向图,并在正常div中显示了节点的id.我需要突出显示在div中单击了id的节点.我搜索了节点的id并使用普通的javascript尝试点击它但它不起作用.
是否在名称以数字开头的CSS类不起作用的地方引用?例如,我发现一个背景类如下:
.000000-8 {background:url(../../images/common/000000-0.8.png);}
.8FFFFFF {background:url(../../images/common/FFFFFF-0.8.png);}
Run Code Online (Sandbox Code Playgroud)
在我所拥有的大多数浏览器中都不起作用,CSS语法表明,但我的问题是有一个解决方法,使名称以数字开头的CSS类有效吗?.
我编写了一个php页面,它将mysql数据库中的信息整齐地显示在表格中.我想用onLoad事件处理程序隐藏空表行.
这是一个示例表,其代码隐藏了<td>没有内容的代码.但我只能让它使用不同的ID:
<script type="text/javascript">
function hideTd(id){
if(document.getElementById(id).textContent == ''){
document.getElementById(id).style.display = 'none';
}
}
</script>
</head>
<body onload="hideTd('1');hideTd('2');hideTd('3');">
<table border="1">
<tr>
<td id="1">not empty</td>
</tr>
<tr>
<td id="2"></td>
</tr>
<tr>
<td id="3"></td>
</tr>
</table>
</body>
Run Code Online (Sandbox Code Playgroud)
我想要做的是使用一个类<td>来实现同样的事情,同时只引用一次类,而不是引用我想删除的每个id,这甚至不适用于我的动态内容.我尝试使用此代码:
<script type="text/javascript">
function hideTd(){
if(document.getElementsByClassName().textContent == ''){
document.getElementsByClassName().style.display = 'none';
}
}
</script>
</head>
<body onload="hideTd('1');">
<table border="1">
<tr>
<td class="1">not empty</td>
</tr>
<tr>
<td class="1"></td>
</tr>
<tr>
<td class="1"></td>
</tr>
</table>
</body>
Run Code Online (Sandbox Code Playgroud)
但它不起作用.它应该隐藏<td>具有指定类的空s.我如何<td>使用类隐藏空s,而不是ID?
css ×6
javascript ×4
html ×3
class ×2
validation ×2
d3.js ×1
dom ×1
dynamic-data ×1
force-layout ×1
html-table ×1
jquery ×1
regex ×1
webforms ×1