如何在HTML元素中获取文本索引
how to get index of text in a element HTML
我有这段代码:
<button id="btn1"> Name of button <span> 1 </span> </button>
我想在单击按钮时将按钮的文本("按钮名称")替换为文本框元素
<button id="btn1"> <input type='text' value='Name of button'/> <span> 1 </span> </button>
我想要获取button的index text来替换它
虽然它不符合HTML标准,下面的工作在谷歌浏览器
$('#btn1').click(function(event) {
event.preventDefault();
if ($(this).find("input").length == 0) {
var span = $(this).find("span").detach();
var buttonText = $(this).text();
$(this).empty().append("<input type='text' value='" + buttonText + "'/>");
$(this).append(span);
$(this).find("input").focus();
}
});
$('#btn1').on("blur", "input", function() {
$(this).replaceWith($(this).val());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="btn1" class="editable">Name of button<span> 1 </span>
</button>
我还添加了一些额外的东西来把文本框的值放回按钮的标签中,因为在我看来,这可能是你想要达到的效果
我的做法如下:
$('#btn1').click(function(){
$("#btn1").contents()[0].textContent = $("#text").val();
});
这里是JSFiddle演示
Just do:
document.querySelector('#btn1').innerHTML
.replace('Name of button', '<input type="text" value="Name of button" />');
<button id="btn1">Name of button <span> 1 </span>
</button>
如果答案不能满足你的需要,请评论,我将更新。
相关文章:
- 需要使用javascript获取输入文本,然后将其添加到句子中
- 从ajax请求中获取原始文本
- 当运行JS函数时,如何在c#中的Edgejs中获取错误文本
- 如果所选内容在标记内,如何获取格式化文本
- 如何使用 JQuery 从相对元素获取 html 文本
- Meteor:从Twilio获取SMS文本列表,并将它们插入mongoDB
- 使用 jQuery 从选择标签中抓取文本
- jQuery 获取原始文本(未转义),以便通过下划线模板进一步解析
- 使用 jQuery 从目标页面而不是当前页面获取元素文本
- 用javascript获取svg文本值
- 如何在按子字符串更改后获取旧文本
- JavaScript:获取搜索文本在正文上的滚动位置
- 从p:inputText javascript获取值文本
- AJAX/JS:是否可以在没有提交按钮和刷新页面的情况下获取输入文本的值
- 使用JQUERY/Javascript获取DotNetNuke文本编辑器HTML值
- 使用 casperjs 抓取文本节点的最快方法
- 在Oracle Apex的javascript部分中获取富文本编辑器的HTML文本
- 如何在PHP中获取html文本框值
- Chrome扩展程序获取DOM文本并在弹出窗口中显示.html然后单击按钮
- 如何使用 ajax 实时搜索获取脚本文本框中的搜索值