我想使用JQuery在两个元素之间更改文本,但我不知道!
例如:
<input type='checkbox' name='ch1'>
This text must be changed !!!
<input type='checkbox' name='ch2'>
另外,我对此Html代码没有任何控制权,因此我无法添加任何ID或标记。
我想使用JQuery在两个元素之间更改文本,但我不知道!
例如:
<input type='checkbox' name='ch1'>
This text must be changed !!!
<input type='checkbox' name='ch2'>
另外,我对此Html代码没有任何控制权,因此我无法添加任何ID或标记。
你可以打电话 内容() 在父元素上获取其子文本节点,然后使用 片() 同 指数() 找到要删除的文本节点。从那以后, 后() 将允许您添加新内容:
var ch1 = $("input:checkbox[name=ch1]"),
ch2 = $("input:checkbox[name=ch2]"),
contents = ch1.parent().contents();
contents.slice(contents.index(ch1) + 1, contents.index(ch2)).remove();
ch1.after("The text was changed.");
你可以测试一下 这个小提琴。
你可以打电话 内容() 在父元素上获取其子文本节点,然后使用 片() 同 指数() 找到要删除的文本节点。从那以后, 后() 将允许您添加新内容:
var ch1 = $("input:checkbox[name=ch1]"),
ch2 = $("input:checkbox[name=ch2]"),
contents = ch1.parent().contents();
contents.slice(contents.index(ch1) + 1, contents.index(ch2)).remove();
ch1.after("The text was changed.");
你可以测试一下 这个小提琴。
你用js replace
用于替换要替换的文本的函数
这是一个例子: http://jsfiddle.net/yangchenyun/8zFFc/
这是代码
var replacedText = $('input[name=ch1]').parent().html().replace('This text must change !!!', 'replaced text');
$('input[name=ch1]').parent().html(replacedText);
2个输入是否在更大的容器div中?然后你可以设置div的innerHTML而不使用中间的文本
你可以这样做吗?
<input type='checkbox' name='ch1'>
<span id="change"> This text must change !!!</span>
<input type='checkbox' name='ch2'>
这可能对你有所帮助:
$(文件)。就绪(函数(){ 警报(getAllBetween( “输入#CH1”, “输入#CH 2”)); }); function getAllBetween(firstEl,lastEl){ var firstElement = $(firstEl); //第一元素 var lastElement = $(lastEl); //最后元素 var collection = new Array(); //元素集合 collection.push(firstElement); //将第一个元素添加到集合中 $(firstEl).nextAll()。each(function(){//遍历所有兄弟姐妹 var siblingID = $(this).attr(“id”); //获取兄弟姐妹ID if(siblingID!= $(lastElement).attr(“id”)){//如果Sib不是LastElement collection.push($(本)); //将兄弟姐妹添加到集合中 } else {//否则,如果Sib是LastElement 返回虚假; // Break Loop } }); 回收; //返回集合 }
我想你可以试试 contents()
选择所需复选框旁边的文本节点并将其删除。
但是,我认为它可能在IE6 / 7中不起作用。
尝试这个
$(function(){
$('input:checkbox').parents().contents()
.filter( function(index){return (this.nodeType === 3 && $('input:checkbox').parents().contents().eq(index-1).attr('name') === 'ch1' ); }).remove();
});
你可以使用段落
对于文本如下
<input type='checkbox' name='ch1'>
<p id="change_text"> This text must change !!!</p>
<input type='checkbox' name='ch2'>
在jquery中使用
$("#change_text").html(" Your text here ");