[英]How to wrap tag by another tag?
How to wrap tag by another tag? 如何用另一个标签包裹标签? For example: 例如:
<ul>
<li>Html Tutorial</li>
<li>Mongodb Tutorial</li>
<li>Python Tutorial</li>
</ul>
I want to wrap second li
element with b
tag. 我想用b
标签包装第二个li
元素。 How to do that? 怎么做?
You mean this? 你是这个意思?
<li><b>Mongodb Tutorial</b></li>
Or In Javascript, assuming this is the only ul on the page. 或者在Javascript中,假设这是页面上唯一的ul。 You should probably put an ID on it. 您可能应该在上面放一个ID。
var middleOne = document.querySelectorAll( 'ul > *' )[1];
middleOne.innerHTML = "<B>" + middleOne.innerHTML + "</B>";
you can easily do this 您可以轻松地做到这一点
// element that will be wrapped //将被包装的元素
var el = document.querySelector('li:nth-child(2)');
// create wrapper container //创建包装容器
var wrapper = document.createElement('b');
// insert wrapper before el in the DOM tree //在DOM树中的el之前插入包装器
el.parentNode.insertBefore(wrapper, el);
// move el into wrapper //将el移入包装器
wrapper.appendChild(el);
// element that will be wrapped var el = document.querySelector('li:nth-child(2)'); // create wrapper container var wrapper = document.createElement('b'); // insert wrapper before el in the DOM tree el.parentNode.insertBefore(wrapper, el); // move el into wrapper wrapper.appendChild(el);
<ul> <li>Html Tutorial</li> <li>Mongodb Tutorial</li> <li>Python Tutorial</li> </ul>
Wrapping li
tag with another tag except ul
or ol
is not a good practice. 将li
标签与ul
或ol
以外的其他标签包装在一起不是一个好习惯。 You have many approach ahead but in below you can find two of them. 您前面有许多方法,但在下面可以找到其中两个。 One by css
and the another one with pure js
. 一个由css
,另一个由纯js
。
CSS : CSS :
ul li:nth-of-type(2) {font-weight:bold;}
/* or */
ul li:nth-child(2) {font-weight:bold;}
JS : JS :
var ul = document.getElementsByTagName("ul")[0];
var nth = ul.getElementsByTagName("li")[1];
nth.innerHTML = "<b>"+ nth.innerHTML +"</b>";
PS : If you really need to wrapp li
element with b
tag try others answers. PS :如果您真的需要用b
标签包装li
元素,请尝试其他答案。 (but it is wrong structure) (但是结构错误)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.