一般用原生js、jQuery获取html元素的值。<div id="test">数值</div>
原生js写法:
alert(documentgetElementById('test')innerHTML);//数值
jQuery写法:
alert($('#test')html());//数值
JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。
在1995年时,由Netscape公司的Brendan Eich,在网景导航者浏览器上首次设计实现而成。因为Netscape与Sun合作,Netscape管理层希望它外观看起来像Java,因此取名为JavaScript。但实际上它的语法风格与Self及Scheme较为接近。
为了取得技术优势,微软推出了JScript,CEnvi推出ScriptEase,与JavaScript同样可在浏览器上运行。为了统一规格,因为JavaScript兼容于ECMA标准,因此也称为ECMAScript。
JS获取form表单里的数据并输出的方法:
documentgetElementById("ddd")innerHTML = documentgetElementById("xxx")value + documentgetElementById("yyy")value;
将表单数据获取好后进行拼接赋给某个dom节点显示出来。
js获取表单数据命令是:documentgetElementById("xxx")value;
输出表单数据到某个dom元素内是使用:documentgetElementById("ddd")innerHTML;
因此要使用js输出表单数据可以先讲表单数据整合临时存储到某个变量,在统一输出到某个dom节点内
举例:
<form id="fm" name="fm">
<input type="text" id="name" />
<input type="text" id="tel" />
<input type="button" onClick="fmResult()" />
</form>
输出表单值:<div id="d"></div>
js:
<script>
function fmResult(){
var name = documentgetElementById("name")value;
var tel = documentgetElementById("tel")value;//获取值
documentgetElementById("d")innerHTML = name + tel;//输出表单值
}
</script>
可以通过js dom 来获取,对元素设一个id值,然后为元素绑定一个click事件或直接设置 "onclick=",然后调用相应的function,在function中通过:documentgetElementById("") ,就可以获取到地点的元素对象,然后在浏览器中按F12进行调试,就可以看到这个对应的所有属性及方法,当然元素的值也在里面。
单纯获取值是:documentgetElementById("")value;
首先明白一点,uni-app提供的view、button、image、text通通都是组件,不是h5的标签,虽然用起来方便,但如果你想获取dom节点信息,尽管给组件绑定一个id选择器,用documentgetElementById()等这种传统的JS获取dom方式是没有任何效果。
因为他们是组件,除非你不用这些现成的组件,用回h5的标签。
所以你如果想获取uni-app提供组件的DOM元素,需要如下的方法。
unicreateSelectorQuery()in(this);用于创建一个实例。
in(this)在这里是为了规范页面创建实例,避免获取不到实例报null,用上总没错
queryselect('#text')用于选择DOM节点
boundingClientRect()返回dom节点的相关信息
拿到的是一些元素本身的宽高信息、距离页面四边的距离。
使用unicreateSelectorQuery()创建dom实例,需要在这个mounted()生命周期里面进行,这个生命周期它代表组件已经创建完成,可以挂载实例,进而获取dom元素
如果不写在mounted生命周期里,你也可以写在methods方法定义里面,不过你需要这样来调用。
需要准备的材料分别有:电脑、html编辑器、浏览器。
1、首先,打开html编辑器,新建html文件,例如:indexhtml,编写问题基础代码。
2、在indexhtml中的<script>标签,输入js代码:$('body')append($('name-price span')eq(0)find('b')text());。
3、浏览器运行indexhtml页面,此时通过jQuery取到了书名“数值分析”并打印了出来。
利用javascript
写一个在页面点击加减按钮实现数字的累加。
简略的html大概如此。看得懂就好不要在意这些细节啊
<input
type="button"
value="+"
onclick="jia(this)"
/>
<label
class="num">0</label>
<input
type="button"
value="-"
onclick="jian(this)"
/>
样子是这样的
javascript
代码如下
<script
type="text/javascript">
function
jia(a)
{
var
nextnode
=
anextElementSibling;//获取下一个节点
alert(nextnodeinnerHTML);
var
a
=
parseInt(nextnodeinnerHTML)
a
+=
1;
nextnodeinnerHTML
=
a;
}
function
jian(a)
{
var
previousnode
=
apreviousElementSibling;
var
a
=
parseInt(previousnodeinnerHTML)
a
-=
1;
a
=
a
>
0
a
:
0;
previousnodeinnerHTML
=
a;
}
</script>
解释一下:
function
jian(a)和
function
jia(a)就是当前点击的对象了。在onclick事件接的方法里加了this;
-
nextElementSibling
获取当前节点的下一个节点(获得下一个兄弟节点)
-
previousElementSibling
获取当前节点的上一个节点
注意:
IE将跳过在节点之间产生的空格文档节点(如:换行字符),而Mozilla不会这样——FF会把诸如空格换行之类的排版元素视作节点读取,因此,在ie
中用nextSibling便可读取到的下一个节点元素,在FF中就需要这样写:nextElementSibling了。
上面的解释的意思的使用
nextElementSibling
和previousElementSibling
获得下一个兄弟节点和上一个兄弟节点,可以去掉换行,空格上面之类的,直接找到我们标签元素。但是下面的两个
nextSibling
previousSibling
也是得下一个兄弟节点和上一个兄弟节点的,只是在IE中好用
--------------------关键字解释
parseInt
转化功能。
a
=
a
>
0
a
:
0;----三元表达式。
jquery中获取当前dom元素的子元素的方法有很多,常见的方法是使用children()方法或者fand()方法都是可以获取到某个元素的子元素的,children() 方法返回匹配元素集合中每个元素的子元素,find()方法获得当前元素集合中每个元素的后代,通过选择器、jQuery 对象或元素来筛选。
工具原料:jQuery、编辑器、浏览器
一、使用children()方法获得子元素
1、使用该方法获取子元素并设置子元素的字体为蓝色,代码如下:
<!DOCTYPE html><html>
<head>
<script type="text/javascript" src="/jquery/jqueryjs"></script>
<style>
body { font-size:16px; font-weight:bolder; }
p { margin:5px 0; }
</style>
</head>
<body>
<div>
<span>Hello</span>
<p class="selected">Hello Again</p>
<div class="selected">And Again</div>
<p>And One Last Time</p>
</div>
<script>$("div")children("selected")css("color", "blue");</script>
</body>
</html>
2、运行的效果如下图:
二、使用find()方法获取子元素
1、使用fand()方法获取子元素并且进行选择器的筛选,代码如下图:
<!DOCTYPE html><html>
<head>
<script type="text/javascript" src="/jquery/jqueryjs"></script>
</head>
<body>
<p><span>Hello</span>, how are you</p>
<p>Me I'm <span>good</span></p>
<script>
$("p")find("span")css('color','red');
</script>
</body>
</html>
2、运行的结果如下图:
这是因为getElementById再结合children属性获取的是DOM元素,而querySelectorAll获取的则是NodeList对象元素。前者会随页面DOM结构的变化而变化,比如删除了box中的一个div,这个div就会从children中被“真实地”删掉,childrenlength的计数也会减1。而后者如果删除其中的某个子元素,被删的元素并不会消失,而是变成一个空对象,children1length的计数也不会改变,这样的话 for(var i=0;i<children1length;) 这个循环由于i的值不变(总是等于0),而children1length也不会减少(总是4),这样就变成死循环了(同时也意味着把一个已删除的元素不断重复删除)。
改成这样就没问题了:
for(var i=0;i<children1length;i++){
boxremoveChild(children1[i]);
}
以上就是关于js如何获取html的数据全部的内容,包括:js如何获取html的数据、JS部分怎么写才能把form表单里的数据输出出来、javascript如何获取点击元素的值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)