繁体   English   中英

如何从动态元素中获取价值

[英]How to get value from a dynamic element

我需要从“p”元素中获取值,我用jQuery绘制这个“p”并且没关系,然后我有一个按钮,当我点击它时我想显示“p”元素的值,但我不知道得到任何信息,这是一个简单的代码示例:

 $(document).ready(function() { $('#c').click(function() { var p = $('#p1').val(); alert(p); }); draw(); }); function draw() { var html = ""; html += '<p id="p1">Hi</p>'; $('#d').html(html); } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <button id="c">Click</button> <hr /> <div id="d"> </div> 

我怎么解决这个问题? 我没有得到任何控制台错误。

变化:

var p = $('#p1').val();

至 :

var p = $('#p1').text();

.val()仅返回inputtextareaselect元素的值。 如果您只想阅读元素的内容,则应使用.text().html() 第一个返回文本,第二个返回元素的HTML内容。

这是jQuery的引用

.val()方法主要用于获取表单元素的值,例如input,select和textarea。 在空集合上调用时,它返回undefined。

因此,正如@ehsan建议的那样,如果要将内容作为文本获取,请使用.text()方法。

.val()用于获取inputselecttextarea元素的值。

如果要获取元素内的文本(例如: divp等),则需要使用.text()

所以,在你的情况下,你需要改变这个:

var p = $('#p1').val();

为了这:

var p = $('#p1').text();

注意:如果要在元素中使用完整的html代码,则需要使用.html()

资料来源:

你也可以使用var p = $('#p1').html();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM