怎么用js(不是JQ)给标签外加一个div标签

怎么用js(不是JQ)给标签外加一个div标签,第1张

/**

* 给定标签添加外标签

* @param {object | string} obj 一个标签元素,或者元素的id值

* @param {string} tag 外标签的名称,可以带上id值class值

*/

function setParent(obj,tag){

obj = typeof obj === "string" ? document.getElementById(obj) : obj

//判断obj是否为有效元素对象

if(obj &&obj.nodeType){

if(obj.nodeType !== 1){

alert("无效的元素对象!")

return false

}

}else{

alert("无效的元素对象!")

return false

}

//如果没有设置tag,或者省略了标签名称,则默认为div

tag = tag ? (/^(#|\.)/gim.test(tag) ? ("div"+tag) : tag) : "div"

var id = "",

cname = "",

len = tag.length,

i = 0,

tn = "",

isT = true,

str = "",

relTag = ""//用来保存标签

//获取id值,获取class值,这一部分参考zencoding的写法

while(i<len){

str = tag.charAt(i)

switch(str){

case "#"://id

id = tag.substring(i+1).match(/^[\w\-:\$]+/i)

id = id ? id[0] : ""

i += id.length + 1

isT = false

break

case "."://class

tn = tag.substring(i+1).match(/^[\w\-:\$]+/i)

tn = tn ? tn[0] : ""

i += tn.length + 1

cname += " " + tn

isT = false

break

default:

if(isT){

relTag += str

}

i++

}

}

//生成节点

tag = document.createElement(relTag)

tag.setAttribute("id",id)

tag.className = cname

//移动替换节点

tag.appendChild(obj.cloneNode(true))

obj.parentNode.replaceChild(tag,obj)

return obj

}

window.onload = function(){

//用法1:movediv为页面上的某个标签的id值,#my.base.case省略标签符号则默认标签为div

setParent("movediv","#my.base.case")

//用法2:可省略第二个参数值,默认外标签为div

setParent("movediv")

//用法3:movediv为页面上的某个标签的id值,h3#my.base.case表示外标签为h3,其id值为my,其class值为base case

setParent("movediv","h3#my.base.case")

//用法4:传入标签元素,其余用法类似上面的

setParent(document.getElementById("movediv"),"#my.base.case")

}

此函数的压缩版本如下(使用的是google的Closure Compiler):

function setParent2(b,a){if((b="string"===typeof b?document.getElementById(b):b)&&b.nodeType){if(1!==b.nodeType)return alert("\u65e0\u6548\u7684\u5143\u7d20\u5bf9\u8c61\uff01"),!1}else return alert("\u65e0\u6548\u7684\u5143\u7d20\u5bf9\u8c61\uff01"),!1for(var a=a?/^(#|\.)/gim.test(a)?"div"+a:a:"div",e="",f="",i=a.length,c=0,d="",d=!0,g="",h=""c<i)switch(g=a.charAt(c),g){case "#":e=(e=a.substring(c+1).match(/^[\w\-:\$]+/i))?e[0]:""c+=e.length+1d=!1breakcase ".":d=(d=a.substring(c+1).match(/^[\w\-:\$]+/i))?

d[0]:""c+=d.length+1f+=" "+dd=!1breakdefault:d&&(h+=g),c++}a=document.createElement(h)a.setAttribute("id",e)a.className=fa.appendChild(b.cloneNode(!0))b.parentNode.replaceChild(a,b)return b}

js判断添加多个标签js怎么样获取多个标签内容-百度经验

1、创建一个test.html文件。

2、在文件内,使用ul、li标签创建一个测试的列表,同时创建一个button按钮,用于触发执行js函数。

3、在js标签内,

百度经验2020-01-12

其他人还搜了

js标签中点击事件失效

js 判断回车键

js判断是否是chrome

js判断数组中是否包含某一项

js添加标签绑定多个事件

js判断对象是否为空

js if判断多个条件_JS条件判断小技巧(一)weixin_39540271的博客-CSDN博客

文章标签:js if判断多个条件 js map用法 js table多层嵌套 js 数组追加 js三元表达式 经常code review,我发现JS newbie很容易写出一堆冗长的代码。今天就列几个比较常见的“解决之道”,看看...

CSDN技术社区2020-12-03

js 动态添加标签绑定多个事件-鸡蛋是方的-博客园

1:此方法为以aa开头的input标签绑定了事件;2:此方法:绑定多个事件,多个事件用空格分开,例子绑定了点击和输入时事件;3:如果调用第三方插件方法...

博客园2020-04-09

请问怎么用js判断循环里面li标签?百度知道

回答:2

代码: menu{width:100%text-align:center} menu li{display:inline-blockbackground:#cccpadding:15px 20px} current{color:#f3c} a href="#">menu</a></li>menu1 menu2 menu3 var lilenght=$(".menu li").length获取li个数 console.log(lilenght) if...

百度知道2020-11-20

js多重判断多个条件的方法-web教程网

我们编写js代码时经常遇到复杂逻辑判断的情况,通常大家可以用if/else或者switch来实现多个条件判断,但这样会有个问题,随着逻辑复杂度的增加,代码中的if/else/switch会变得越来越臃肿,...

web教程网

js 怎么获取a标签被点击的链接,有多个a标签-ZOL问答

5条回答:【推荐答案】添加onclick事件,获取href属性就知道具体的url地址了!DOCTYPEhtmlhtmlbodyscriptfunctionaclick(self){alert(self.href)}/scriptahref=ddd

中关村在线

JS添加标签-程序员大本营

我开始使用的是appendChild函数,结果发现appendChild只能添加指定标签,像我这样需要加一大堆标签和标签属性 *** 作起来就略显麻烦。于是我转而使用append函数,最开始我是这样写的:结果效果如下...

www.pianshen.com

如何使用js添加html标签_Keeling1720的博客-CSDN博客_js 插入html

1.使用 getElementById 获取想要写的标签的父标签对象(body除外,当然body也可以获取,当时没必要,因为他可以通过document.body直接调用)

2.使用 createElement 创建标签对象

CSDN技术社区

js怎么把几个li标签按顺序添加进一个div中?Charles_Tian的博客-CSDN博客

1.js怎么把几个li标签按顺序添加进一个div中?这种问题一般出现在前端请求数据之后,后端以数组的形式返回给前端,然后前端对这些数组进行处理。(1)首先是对后端返回的数据进行拆分,分别得到...

CSDN技术社区2017-12-10

js判断html是否存在指定标签,JavaScript检测字符串中是否 含有html标签实现方法_monte3card的博客-CSDN博客

JavaScript检测字符串中是否 含有html标签实现方法发布时间:2017-11-07 14:11来源:互联网当前栏目:web技术类这篇文章主要介绍了JavaScript检测字符串中是否含有html标签实现方法,本文直接给...

CSDN技术社区2021-06-16

相关搜索

js判断

js添加标签

js判断循环中的li标签

js判断数组

js判断字符串长度

js判断滚动条

js判断大小写

js 判断下拉框

js判断复选框是否选中

js添加html


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11718229.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存