我正在尝试使用以下代码替换网站上的文字:
<script type="text/javascript">
$(document).ready(function () {
$(function() {
$(document.body).find('*').each(function() {
var tmp = $(this).children().remove();
var text = $(this).text();
text = text.replace(/Vorname/g, "Firstname");
$(this).text(text);
$(this).append(tmp);
});
});
});
</script>
HTML(代码段)就像这样(由SharePoint生成):
<td style="padding:4px;">
<div>
<label for="ctl00_IWS_WH_CPH_Content_ContactUsControl1_firstName">
<span><font color='red'>*</font> Vorname (erforderlich):</span>
</label>
</div>
上面的jQuery代码没有被执行...... 对jQuery的引用已放在母版页中。
任何线索,为什么这不起作用?
此致 托马斯
答案 0 :(得分:1)
$('.element').text("sometext");
我认为这不对
var text = $(this).text();
text = text.replace(/Vorname/g, "Firstname");
你应该使用:
var text = $(this).text();
text.replace("Vorname", "Firstname");
然后你应该更好地记录你的问题,我不明白你的真正问题。
答案 1 :(得分:1)
我发现你使用两个doc ready函数,你必须只使用一个:
Either : $(document).ready(function () {
or : $(function() {
看看是否有效。
由于
答案 2 :(得分:1)
检查jsfiddle链接以获取工作代码
$(document).ready(function () {
$(document.body).find('*').each(function() {
var tmp = $(this).children().remove();
var text = $(this).text();
text = text.replace(/Vorname/g, "Firstname");
$(this).text(text);
$(this).append(tmp);
});
});
答案 3 :(得分:0)
在你的代码中,你正在剥离一些元素样式。如果你想保持布局,你最好使用html而不是文字,但这实际上取决于你在寻找什么。
$(document).ready(function () {
$('body').find('*').each(function() {
var html= $(this).html().replace(/Vorname/g, "Firstname");
$(this).html(html);
});
});