jquery - 如果 div 还包含一些通过选择和输入框输入的用户条目,我如何才能仅获取 div 中的文本?

标签 jquery html text

我正在为我的 children 制作一个疯狂的小游戏,但是由于 selectinput 元素,我在获取 div 中的文本时遇到了一些问题.

例如:

<div class='para1'>
This is a madlib game. 
Do you <select id='no1'>
<option selected>like</option>
<option> not like </option>
</select>
this kind of game? What would you rate it as, <input type="text">.
</div>

使用 $('.para1').text() 获取选择框中的所有垃圾;使用 $('para1').html() 得到标记垃圾。

我想要所选选项的文本和任何用户输入 - 以及 div 中的新静态文本 - 这可以做到吗?

最终输出应该是: 这是一个疯狂的游戏。你喜欢这样的游戏吗?您认为它是什么,[在此处输入值(value)]。

请参阅此处示例:http://jsfiddle.net/4Fysw/

最佳答案

这是一个 fiddle :http://jsfiddle.net/4Fysw/7/

正如在 jquery 网站上发现的关于 .text() 它不适用于输入或脚本标签,所以为了得到你正在寻找的东西,我相信唯一的方法是确保文本的格式支持一种捕获它的简单方法,就像我在 fiddle 中所做的那样。

我基本上将所有字符串都包装在 <span> 中标记,因为它们不会引起浏览器或 css 的任何强制样式(当然除非你有 span 的默认样式),并且它们允许你迭代父项的子项 para1元素并确定您是应该使用 .val() 函数还是仅使用普通的 .text() 函数来获取数据以构建您的字符串。

希望这对您有所帮助。

更新: 基于评论 - 这是一个稍微重构的 fiddle ,支持更多的灵 active :http://jsfiddle.net/8QaFn/3/

关于jquery - 如果 div 还包含一些通过选择和输入框输入的用户条目,我如何才能仅获取 div 中的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21641753/

相关文章:

jQuery .data() 不适用于按钮?

javascript - Jquery UI 选项卡更改正文类

javascript - 如何将多选的选定选项放在第一个位置

c# - 验证用户输入

powershell - PowerShell 中包含文本颜色的变量

javascript - 如何使用 JSON 连接到外部 API?

javascript - JqueryUI Selectable - 不使用 Ctrl 取消选择

jquery - 如何更改自定义 jquery 小部件的 css 样式?

javascript - 使用 anchor 链接打开自定义 jquery 选项卡

css - 不需要的换行符字体更改