my$("btn").onclick = function () {
document.write("<p>这是一个标签</p>");
};
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>title</title> <style type=text/css> div { font-size: 12px; font-family: arial } .baidu { font-size: 14px; line-height: 24px; font-family: arial } a, a:link { color: #0000cc; } .baidu span { color: #6f6f6f; font-size: 12px } a.more { color: #008000; } a.blk { color: #000; font-weight: bold; }</style> </head> <body> <script language="JavaScript" type="text/JavaScript" src="http://news.baidu.com/ns?word=x%20title%3Aiphone&tn=newsfcu&from=news&cl=2&rn=5&ct=0"></script> </body> </html>
//点击按钮,在div中创建一个p标签
//第二种方式创建元素: 对象.innerHTML="标签代码及内容";
my$("btn").onclick = function () {
my$("dv").innerHTML = "<p>床前明月光 疑是地上霜,举头望明月,低头思故乡</p>"
};
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>title</title>
<style>
div {
width: 250px;
height: 350px;
background-color: pink;
}
</style>
</head>
<body>
<input type="button" value="创建列表" id="btn" />
<div id="dv"></div>
<script src="common.js"></script>
<script>
var names = ["杨过", "郭靖", "张无忌", "张三丰", "乔峰", "令狐冲"]
var str = "<ul>";
my$("btn").onclick = function () {
//根据循环创建对应对数的li
for (var i = 0; i < names.length; i++) {
str += "<li>" + names[i] + "</li>";
}
str += "</ul>";
my$("dv").innerHTML = str;
//代码执行到这里,li已经有了
//获取所有的li,遍历,添加鼠标进入事件,鼠标离开事件
var list = my$("dv").getElementsByTagName("li");
for (var i = 0; i < list.length; i++) {
list[i].onmouseover = function () {
this.style.backgroundColor = "hotpink";
};
list[i].onmouseout = function () {
this.style.backgroundColor = "";
};
}
};
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>title</title>
<style>
div {
width: 200px;
height: 150px;
border: 1px solid pink;
}
</style>
</head>
<body>
<input type="button" value="创建p" id="btn" />
<div id="dv"></div>
<script src="common.js"></script>
<script>
my$("btn").onclick = function () {
//创建元素
var pObj = document.createElement("p");
pObj.innerText = ("这是一个p");
// setInnerText(pObj, "这是一个p");
//把创建后的子元素追加到父级元素中
my$("dv").appendChild(pObj);
};
</script>
</body>
</html>
如果是循环的方式添加事件,推荐用命名函数
如果不是循环的方式添加事件,推荐使用匿名函数
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>title</title> <style> * { margin: 0; padding: 0; } div { width: 200px; height: 400px; border: 2px solid pink; } ul { list-style-type: none; cursor: pointer; } </style> </head> <body> <input type="button" value="创建动态列表" id="btn" /> <div id="dv"></div> <!-- <input type="button" value="创建列表" id="btn"/> <div id="dv"></div> --> <script src="common.js"></script> <script> //点击按钮动态的创建列表,把列表加到div中 var kungfu = ["降龙十八掌", "黯然销魂掌", "葵花宝典", "九阴真经", "吸星大法", "如来神掌", "化骨绵掌", "玉女心经"]; my$("btn").onclick = function () { //创建ul,把ul立刻加入到父级元素div中 var ulObj = document.createElement("ul"); my$("dv").appendChild(ulObj); //追加子元素 //动态的创建li,加到ul中 for (var i = 0; i < kungfu.length; i++) { var liObj = document.createElement("li"); //设置li中间的文字内容 liObj.innerHTML = kungfu[i]; ulObj.appendChild(liObj); //为li添加鼠标进入和离开事件 liObj.onmouseover = mouseoverHandle; liObj.onmouseout = mouseoutHandle; } }; //此位置.按钮的点击事件的外面 function mouseoverHandle() { this.style.backgroundColor = "hotpink"; } function mouseoutHandle() { this.style.backgroundColor = ""; } // 如果是循环的方式添加事件,推荐用命名函数 // 如果不是循环的方式添加事件,推荐使用匿名函数 </script> </body> </html>
自己给自己debug好久,才发现没有把创建的2个列放进for循环
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>title</title>
<style>
div {
width: 300px;
height: 300px;
border: 2px solid hotpink;
}
</style>
</head>
<body>
<input type="button" value="创建表格" id="btn" />
<div id="dv"></div>
<script src="common.js"></script>
<script>
var arr = [
{ name: "百度", href: "http://www.baidu.com" },
{ name: "谷歌", href: "http://www.google.com" },
{ name: "优酷", href: "http://www.youku.com" },
{ name: "土豆", href: "http://www.tudou.com" },
{ name: "快播", href: "http://www.kuaibo.com" },
{ name: "爱奇艺", href: "http://www.aiqiyi.com" }
];
//点击按钮创建表格
my$("btn").onclick = function () {
//创建table加入div
var tableObj = document.createElement("table");
tableObj.border = "1";
tableObj.cellPadding = "0";
tableObj.cellSpacing = "0";
my$("dv").appendChild(tableObj);
//创建行tr,加入table
for (var i = 0; i < arr.length; i++) {
var dt = arr[i]; //每个对象
var trObj = document.createElement("tr");
tableObj.appendChild(trObj);
//创建第一个列,加入到行
var td1 = document.createElement("td");
td1.innerText = dt.name;
trObj.appendChild(td1);
//创建第二个列,加入到行
var td2 = document.createElement("td");
td2.innerHTML = "<a href=" + dt.href + ">" + dt.name + "</a>";
trObj.appendChild(td2);
}
};
</script>
</body>
</html>
在网页中,如果需要使用辅助性/装饰性的内容的时候,这就需要使用伪元素了。在使用伪元素的时候,会发现js并不真能直接控制它,这篇文章主要就介绍下如果间接的控制、修改css中伪元素的方法
用css隐藏页面元素有许多种方法。1、opacity:0;2、visibility:hidden;3、diaplay:none;4、position:absolute;5、clip-path。大家可以根据具体情况选择适合的方法来隐藏元素
使用 CSS 让元素不可见的方法很多,剪裁、定位到屏幕外、明度变化等都是可以的。虽然它们都是肉眼不可见,但背后却在多个维度上都有差别
动态生成HTML元素的方法有三种:document.createElement()创建元素,再用appendChild( )添加、使用innerHTML直接将元素添加到指定节点、jQuery创建节点...
通过id删除;通过class获取元素;清空一个元素,即删除一个元素的所有子元素 ;原理很简单,就是不断的判断要清空的div还有没有子节点,有的话就删除一个子节点(这里是它的首个子节点),直到删除完毕为止。
我们经常通过document.getElementById 方法来获取到一个元素,这个时候我们经常需要有一个需求,那就是如何判断这个元素在父元素中的位置。原生JS有一个常见的小技巧那就是通过元素的previousSibling 属性,额外需要注意的是该属性会遍历text节点,即回车键。
前几天写一个js的时候遇到一个非常诡异的事情,这个问题是这样的,我要获取一个页面的DOM元素的val值,判断这个值是否比某个变量大,这个需求原先数字最大也就是10,现在要改了,可能会更多,这个时候我发现比较大小的判断就出了问题:
动态创建元素一 document.write()body标签中就会插入但是这种方法几乎不用,因为这回影响页面的布局,甚至会将页面原来的内容冲刷掉,从而只显示输出内容;动态创建元素二 innerHTML
真正意义上的inline-block水平呈现的元素间,换行显示或者空格隔开的情况下会有间距,这是因为浏览器在解析时,会将换行等读取成一个空格导致。
请问什么是可替换元素和非可替换元素,它们的差异是什么?并举例说明。前端面试中 HTML 的题目本来就最少,而且并不难,翻来覆去也就那几样。我们之前已经谈到过最经典的 HTML 语义化 ,今天就借此机会来谈谈可替换元素。
内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!