有没有办法使用jQuery / javascript将此文本W'ñÝÃáèTÿpê !!!_W
与<div></div>
包装在以下html结构中?
<div id="jqgh_PageGrid_ControlType" class="ui-jqgrid-sortable">
W'ñÝÃáèTÿpê !!!_W<span class="s-ico" style="display:block">
<span sort="asc" class="ui-grid-ico-sort ui-icon-asc ui-state-disabled ui-icon ui-icon-triangle-1-n ui-sort-ltr"></span>
<span sort="desc" class="ui-grid-ico-sort ui-icon-desc ui-state-disabled ui-icon ui-icon-triangle-1-s ui-sort-ltr"></span>
</span><button class="grid-header-filter-btn ui-button ui-widget ui-state-default ui-corner-all ui-button-icon-only" role="button" title="">
<span class="ui-button-icon-primary ui-icon ui-icon-gear"></span>
<span class="ui-button-text"></span>
</button>
</div>
答案 0 :(得分:1)
使用以下jQuery代码。
$('<div>').append($.trim($('.ui-jqgrid-sortable').text()))
答案 1 :(得分:0)
这应该按照您的要求进行。
您可以使用以下内容替换页面正文中第一个单词:
var replaced = $("body").html().replace('W'ñÝÃáèTÿpê !!!_W','<div>W'ñÝÃáèTÿpê !!!_W</div>');
$("body").html(replaced);
如果要替换所有出现的单词,则需要使用正则表达式并将其声明为global / g:
var replaced = $("body").html().replace(/W'ñÝÃáèTÿpê !!!_W/g,'<div>W'ñÝÃáèTÿpê !!!_W</div>');
$("body").html(replaced);
答案 2 :(得分:0)
$("#jqgh_PageGrid_ControlType").html(function(){
return this.innerHTML.replace("W'ñÝÃáèTÿpê !!!_W",'<div style="color:red;">Whatever</div>');
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<div id="jqgh_PageGrid_ControlType" class="ui-jqgrid-sortable">
W'ñÝÃáèTÿpê !!!_W<span class="s-ico" style="display:block">
<span sort="asc" class="ui-grid-ico-sort ui-icon-asc ui-state-disabled ui-icon ui-icon-triangle-1-n ui-sort-ltr"></span>
<span sort="desc" class="ui-grid-ico-sort ui-icon-desc ui-state-disabled ui-icon ui-icon-triangle-1-s ui-sort-ltr"></span>
</span><button class="grid-header-filter-btn ui-button ui-widget ui-state-default ui-corner-all ui-button-icon-only" role="button" title="">
<span class="ui-button-icon-primary ui-icon ui-icon-gear"></span>
<span class="ui-button-text"></span>
</button>
</div>
&#13;
答案 3 :(得分:0)
您可以使用jQuery函数contents()
获取包括文本节点在内的所有子节点。
然后,您可以使用jQuery函数filter()
按类型过滤节点。
最后使用jQuery函数first()
来抓取第一个文本节点(你发布的代码只有一个,但是如果你不能控制的话,谁知道可以添加什么)
...所以这将获取第一个文本节点,该节点是#jqgh_PageGrid_ControlType
<div>
的直接后代,并将其换成全新的(积极的红色)<div>
:
$('#jqgh_PageGrid_ControlType').contents().filter(function(){
return this.nodeType === 3;
}).first().wrap('<div style="background:#f00">');
答案 4 :(得分:-1)
你也可以在这样的原生javascript中做到这一点。
var jqgh_PageGrid_ControlType = document.getElementById('jqgh_PageGrid_ControlType');
jqgh_PageGrid_ControlType.innerHTML = jqgh_PageGrid_ControlType.innerHTML.replace("W'ñÝÃáèTÿpê !!!_W", "<div>W'ñÝÃáèTÿpê !!!_W</div>");