用PHP/jQuery替换HTML工具提示内容


Replacing HTML tooltip content with PHP/jQuery

所以,我有一个WordPress网站,我安装了一个模板(动物园)。我的问题是,我希望整个网站是在法语,有三个按钮在该模板,其中title标签是编码在一个js文件的深处,是一个插件内已集成到模板。

这些是我作为web开发人员的第一步(我来自c++),我很难理解文件中缺少什么,但我通过环顾四周了解了一些事情。

所以我做了一个子主题。这是functions.php文件。我认为它工作得很好,但这里是以防我做错了:

<?php
function removethosedamntooltips(){
    wp_register_script('removetooltips', get_stylesheet_directory_uri() . '/js/removetooltips.js');
    wp_enqueue_script( 'removetooltips' );
}
add_action('wp_enqueue_scripts', 'removethosedamntooltips');
这是前面提到的removetooltips.js文件。我相信我必须调用一个按钮悬停,因为模板是单页视差,我想修改的按钮是不可见的,直到你点击另一个按钮,允许另一个显示而不发送浏览器到另一个URL(如果我删除第2行和结束括号,它去与它,它不工作)。此外,这些工具提示只出现在鼠标悬停时,所以这似乎是一个好主意:
jQuery(document).ready(function(){
  alert("jQuery!!");
  jQuery("button").hover(function(){
    alert("jQuery!!");
    jQuery(".mfp-arrow-left").attr("title", "Précédent (flèche gauche)");
    jQuery(".mfp-arrow-right").attr("title", "Suivant (flèche droite)");
    jQuery(".mfp-close").attr("title", "Fermer (Esc)");
  });
});

第一个警报在页面加载后显示,但第二个警报没有显示。工具提示(按钮标题)仍以英文显示。

一条可能对解决这个问题有用的信息(我只有2天阅读关于JavaScript和jQuery的东西,所以我真的不知道):我必须使用jQuery而不是$,否则控制台会告诉我$是一个未知的函数。我是否需要以某种方式在我的文件中包含jQuery框架(如果是这样,在哪里以及如何?),尽管jQuery库的调用已经显示在头中?

如果你提供一个解决方案,将删除工具提示,而不是替换它们的内容,我会很高兴。

提前感谢!

不使用jQuery("button").hover(function(){...});您应该找到放置所有按钮的容器,或者只使用body并使用jquery的.on()方法。据我所知,这是可行的。完整的代码应该是这样的

jQuery(document).ready(function(){
  alert("jQuery!!");
  jQuery("body").on("hover", "button", function(){
    jQuery(".mfp-arrow-left").attr("title", "Précédent (flèche gauche)");
    jQuery(".mfp-arrow-right").attr("title", "Suivant (flèche droite)");
    jQuery(".mfp-close").attr("title", "Fermer (Esc)");
  });
});

解释:使用.on()方法将事件与动态创建的元素绑定。正如你在你的问题中提到的,直到另一个按钮/链接被点击,按钮才被创建。

编辑:测试这个和它的工作。我已经删除了第二个警告,因为这样您就无法测试。