javascript - 混合使用 Javascript 和 jQuery?

标签 javascript jquery

主要问题:是否可以使用 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/

相关文章:

javascript - Headless JS 站点测试,每个页面都进行测试

javascript - 无法让 onclick $(this).addClass 工作

jquery - 我想做一些潜水比赛

javascript - 如何创建一个 javascript 数组以将数据发送到此 json 格式?

javascript - 我想在铯查看器中使用折线创建直线箭头。我使用的是火狐40.0

javascript - 防止 jQuery UI 对话框将焦点设置到第一个文本框

javascript - VueJS : passing object to component as prop - comes through as null

javascript - jquery 多选过滤器无法重新加载

javascript - jQuery:绑定(bind)一个可以处理其子事件的事件监听器

jquery - IE8 不透明度动画不适用于 <sup> 标签