【发布时间】:2018-07-24 15:51:39
【问题描述】:
我正在尝试从具有元素“上标和下标”标签的 html 正文中获取字符串。 到目前为止,我能够获得这些标签。 但我也希望有一个选项来查找没有 sup/sub 标签的字符串/字符。 我怎样才能找到没有附加标签的字符串。请帮忙。到目前为止我的代码如下:
function myFunction() {
var e = document.getElementById("t1");
var strUser = e.options[e.selectedIndex].value;
var i;
for (i = 0; i < strUser.length; i++) {
var list = document.getElementsByTagName("SUP");
}
var y;
for (y = 0; y < list.length; y++) {
if(list[y].innerHTML.indexOf(strUser) !== -1) {
$(list[y]).addClass("test");
}
}
}
function myFunctionr() {
var e = document.getElementById("t1");
var strUser = e.options[e.selectedIndex].value;
var i;
for (i = 0; i < strUser.length; i++) {
var list = document.getElementsByTagName("SUB");
}
var y;
for (y = 0; y < list.length; y++) {
if(list[y].innerHTML.indexOf(strUser) !== -1) {
$(list[y]).addClass("test");
}
}
}
.test {
/*border: 3px inset red;*/
background: red;
color: white
}
#mydiv{
background: #000;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
<sup>®</sup>
<sup>®</sup>
<sup>®</sup>
<sub>®</sub>
<sub>®</sub>
<sub>®</sub>
<sub>™</sub>
<sup>™</sup>
<sup>™</sup>
®
</div>
<select id="t1">
<option value="™">™</option>
<option value="®" >®</option>
</select></br></br>
<button onclick="myFunction()">Search Superscript</button>
<button onclick="myFunctionr()">Search Subscript</button>
【问题讨论】:
-
(离题但很难不提)也许考虑将参数传递给您的函数,而不是拥有一个完全相同的副本,除了一个硬编码字符串......
-
我认为没有一种简单的方法可以获取没有标签的值,即使你有多个没有标签的值也会变得混乱。你能不能只将你不想要的项目分配在 或 一个类中,以便可以轻松选择它们?
-
查看
Document.querySelector()以获得更强大的选择器。但是,一般来说,你想做什么?我觉得必须有更好的策略...... -
是的。我实际上是在尝试将 sup 标签与子标签以及没有上述标签的字符区分开来……我觉得 J. Campbell 说的可能会有所帮助……我会试一试。
-
你的 js 根本无法工作...非常混乱...请给一个正确的。顺便说一句,您引用了 Jquey,但没有将它用于 find sup 或 sub,为什么?
标签: javascript jquery html