主要问题:是否可以使用 JavaScript 条件,然后使用一些 jQuery 代码?
这是一个当前无法运行的示例:
<script>
//<![CDATA[
if (location.pathname == "/SearchResults.asp"
|| location.pathname.indexOf("-s/") != -1
|| location.pathname.indexOf("_s/") != -1)
$('.colors_productname span').css("background-color", "#F7F7F7");
//]]>
</script>
JavaScript 条件是由我的电子商务平台 (Volusion) 提供的,仅针对类别页面(jQuery 是我做的)。我问他们如果我的网址不包含“/SearchResults.asp”(其中一个实际上是“/Meats-s/3393.htm”),这段 JavaScript 代码是否仍然有效,但他们向我保证它应该仍然有效。
第二个问题:“location.pathname.indexOf”行是做什么的?
最佳答案
虽然您可以混合使用,但重要的是要了解 jQuery 和 native Javascript 引用 DOM 元素的方式不同。
假设您有一个包含如下元素的文档:
<span id="message_location"><span>
要在常规 Javascript 中获取该元素将是:
var spanElement = document.getElementById("message_location");
但是,对于 jQuery 库,您可以使用以下语法:
var $spanElement = $("#message_location");
在这里您必须知道spanElement
和$spanElement
不是 相同的东西。一个是 DOM 元素,另一个是包含一个值的数组和 jQuery 对象——span 元素。
在 jQuery 库和常规 Javascript 之间来回切换时,很容易混淆您真正指的是什么。
(就个人而言,每当我有一个对 DOM 元素的 jQuery 引用时,我总是以 $
开头变量名。这让我的生活变得简单...)
关于javascript - 混合使用 Javascript 和 jQuery?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17582383/