Javascript 如何安全地替换“之后的值”;运输署";标签?(在JQuery中)
在“td”标记内,如何在不删除整个“span”标记脚本的情况下替换“span”标记后的“BMW”单词?(在JQuery中) “BMW”一词是通配符。它可以是“福特”、“沃尔沃”等 我使用的是JQuery 2.0版Javascript 如何安全地替换“之后的值”;运输署";标签?(在JQuery中),javascript,jquery,Javascript,Jquery,在“td”标记内,如何在不删除整个“span”标记脚本的情况下替换“span”标记后的“BMW”单词?(在JQuery中) “BMW”一词是通配符。它可以是“福特”、“沃尔沃”等 我使用的是JQuery 2.0版 $('#'....).??? <td> <span column="17" style="cursor:pointer"></span> BMW </td> $('#'..)。??? 宝马 您可以使用,并且: 例如: $('ta
$('#'....).???
<td>
<span column="17" style="cursor:pointer"></span> BMW
</td>
$('#'..)。???
宝马
您可以使用,并且:
例如:
$('table').find('td')
.contents()
.filter(function() {
return this.nodeType === 3;
})
.replaceWith("hello world");
});
编辑:我忘记了第一次通话的结束括号 不确定如何标识列,因此可能需要更改选择器。这是一个直接的搜索和替换。你只想替换BMW这个词,对吗
// Example: $(table.cars td)
$('td').each(function()
{
var repl = $(this).html().replace('BMW', 'Ford');
$(this).html(repl);
});
如果文本节点是问题中的下一个同级节点,只需使用nextSibling即可:
$('span[column="17"]').get(0).nextSibling.nodeValue = 'Volvo';
试试这个。。。请注意,我忽略了任何属于空白的文本节点:
$("YOUR TD SELECTOR HERE")
.contents()
.filter(
function() {
return this.nodeType == 3 && $(this).text().replace(/^\s\s*/, '').replace(/\s\s*$/, '');
}
)
.text('text to replace here');
我不知道任何好的jQuery解决方案,所以我提供了低级javaScript方法。很抱歉,但请相信这会有帮助
$("td").each(function(i,v){
for (var i = 0;i < v.childNodes.length;i++){
if (v.childNodes[i].constructor.name=="Text"){
v.childNodes[i].nodeValue=v.childNodes[i].nodeValue.replace(/BMW/,"Volvo");
}
}
});
$(“td”)。每个(功能(i、v){
对于(var i=0;i
编辑:它与小箱子不兼容,因此是更好的版本:
$("td").each(function(i,v){
for (var i = 0;i < v.childNodes.length;i++){
if (v.childNodes[i] instanceof Text){
v.childNodes[i].nodeValue=v.childNodes[i].nodeValue.replace(/BMW/,"Volvo");
}
}
});
$(“td”)。每个(功能(i、v){
对于(var i=0;i
在这里,我将其付诸实践:请看下面的问题和答案,了解您的答案:您是否成功地瞄准了该元素?如果没有周围的html,我们可能无法帮助您获得它。一旦确定目标,您就可以轻松地使用正则表达式删除第一个span标记之外的任何内容。是的,我已经成功地将“TD”元素定位为“$('#'+jqgridSpreadsheetId++'ghead'+jqGridGroup[x].idx.toString()+''+x.toString()”,它为我提供了“TD”元素中的全部值。如果make是Alpha Romeo,这会起作用吗?下一个节点将是文本节点,但alpha romeo 2是文本节点吗?@KaiQing-yup,这很好->get()在这里做什么?@isherwood-它将jQuery选择转换为本机DOM元素。@fletchsod-适用于任何地方?+1用于过滤空白。根据html的编写和/或缩小方式,这肯定需要考虑。但是.text似乎不起作用(replaceWith起作用),如果HTML是用多个换行符编写的,则会中断。