Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将javascript动态插入到<;头>;标签_Javascript_Jquery_Sharepoint_Cewp - Fatal编程技术网

将javascript动态插入到<;头>;标签

将javascript动态插入到<;头>;标签,javascript,jquery,sharepoint,cewp,Javascript,Jquery,Sharepoint,Cewp,我正在使用CEWP(webpart)并将此代码放入其中。但此代码不在标记内。我需要在标记中插入此代码 <script src="http://code.jquery.com/jquery-latest.js"></script> <script type="text/javascript"> $("*").each(function () { if ($(this).children().length == 0) { $(this).text($(this)

我正在使用CEWP(webpart)并将此代码放入其中。但此代码不在
标记内。我需要在
标记中插入此代码

<script src="http://code.jquery.com/jquery-latest.js"></script>

<script type="text/javascript">
$("*").each(function () { if ($(this).children().length == 0) { $(this).text($(this).text().replace('Respuesta','Responder')); } });
</script>

$(“*”).each(函数(){if($(this.children().length==0){$(this.text($(this.text().replace('Respuesta','Responder'));});

我该怎么做?此代码将如何在CEWP Web部件中工作?

首先,如果您将代码设置为在文档准备时间运行,则可以将其放入

然而,它仍然不起作用。您正在迭代所有标记。包括
,这将是
$('*')
选择的第一个

因此,您读取
元素中的所有文本(即整个文档文本),对其进行字符串替换,然后将其写回html
text()
。将
元素之前的所有文本和元素内容替换为单个简单文本字符串。从而破坏页面上的所有其他元素。哎呀

您要做的是查找每个文本节点并对其执行单独的字符串替换:

$(document).ready(function() {
    $('*').each(function() {
        for (var i= this.childNodes.length; i-->0;) {
            var child= this.childNodes[i];
            if (child.nodeType===3) // TEXT_NODE
                child.data= child.data.replace(/Respuesta/g, 'Responder');
        }
    });
});

(请注意,这里仍然存在一系列可能的边缘情况,其中包含表单字段和其他元素,更改其中的文本可能无法达到预期效果。)

首先,如果将代码设置为在文档准备时间运行,则可以将其放入

然而,它仍然不起作用。您正在迭代所有标记。包括
,这将是
$('*')
选择的第一个

因此,您读取
元素中的所有文本(即整个文档文本),对其进行字符串替换,然后将其写回html
text()
。将
元素之前的所有文本和元素内容替换为单个简单文本字符串。从而破坏页面上的所有其他元素。哎呀

您要做的是查找每个文本节点并对其执行单独的字符串替换:

$(document).ready(function() {
    $('*').each(function() {
        for (var i= this.childNodes.length; i-->0;) {
            var child= this.childNodes[i];
            if (child.nodeType===3) // TEXT_NODE
                child.data= child.data.replace(/Respuesta/g, 'Responder');
        }
    });
});

(注意,这里仍然有一些可能的边缘情况,表单字段和其他元素中的文本更改可能无法达到预期效果。)

您可以将该javascript放在任何需要的地方,但不要忘记_spBodyOnLoadFunctionNames.push(“myFunction”)您可以将该javascript放在任何需要的地方,但别忘了_spBodyOnLoadFunctionNames.push(“myFunction”)