Javascript 更改html中的文本<;em>;使用jquery标记

Javascript 更改html中的文本<;em>;使用jquery标记,javascript,php,jquery,html,dom,Javascript,Php,Jquery,Html,Dom,我只想更改与标记内部匹配的确切单词,而不是所有标记。onload是最好的方法吗?我尝试在php中使用str_repace,但由于某种原因,它在一个页面上工作,但在我需要它工作的页面上却不工作 <?php $var = "<em>Bicycle</em>"; echo str_replace($var, "Bicycle", "(something different)"); ?> 现在我已经尝试了一些不同的HTMLDOM方法

我只想更改与标记内部匹配的确切单词,而不是所有标记。onload是最好的方法吗?我尝试在php中使用str_repace,但由于某种原因,它在一个页面上工作,但在我需要它工作的页面上却不工作

<?php 
     $var = "<em>Bicycle</em>";
     echo str_replace($var, "Bicycle", "(something different)");
    ?>

现在我已经尝试了一些不同的HTMLDOM方法和一些javascript

  <em>Bicycle</em>

<script>
document.getElementsByTagName("em").innerHTML = "(something different)";
</script>
自行车
document.getElementsByTagName(“em”).innerHTML=“(不同的东西)”;


baseUrl('images/'.$comp->img_src)?>“
alt=”“>
$
$

我们关注的是翻译键“name”。

虽然您指定了jQuery,但可以使用JavaScript来实现,但是您使用的
getElementsByTagName
是错误的

getElementsByTagName
返回一个数组,您必须指定数组中需要编辑的数组。演示应该会为您提供足够的信息

您没有指定需要更改数组中的哪一个(
document.getElementsByTagName(“em”).innerHTML
),因此没有任何更改

<em>Hello</em>
<em>Hello</em>
<em>Hello</em>
<em>Hello</em>
<em>Hello</em>
<em>Hello</em>

document.getElementsByTagName("em")[0].innerHTML = "GAH!";

您可以使用带有回调函数的对它们进行迭代。要替换文本,请使用方法
$('em').html(函数(i,v){
return v.replace(“自行车”,“不同的东西”);
});


Bicycle
如果您确实加载了jQuery,您可以使用,
$('em').html('something other');
我非常喜欢这样做,它非常简单和直接,但是单词“Bicycle”通过php foreach循环动态加载。@这个方法然后您可以使用AJAX(GET)然后在您的成功回调中,只需
document.getElementsByTagName(“em”)[0].innerHTML=data
。数据就是从AJAX传回的数据。我不是100%确定我知道怎么做。@这个方法您知道如何做AJAX部分吗?如果是这样,我可以做一个简单的示例(您需要编辑一点)对于PHP部分。我不得不说我对PHP部分有点了解。即使单词“bicycle”在PHP foreach循环中迭代时动态加载,它也能工作吗?它不是静态地在页面上。
<em>Hello</em>
<em>Hello</em>
<em>Hello</em>
<em>Hello</em>
<em>Hello</em>
<em>Hello</em>

document.getElementsByTagName("em")[0].innerHTML = "GAH!";
GAH! Hello Hello Hello Hello Hello