1

我正在尝试根据 URL 修改类的 css。这是当前无效的代码:

JS:

<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>

HTML:

<div>
    <a href="#" class=
    "productnamecolor colors_productname" title="Cracked Pepper"><span itemprop=
    'name'>Cracked Pepper</span></a><br />
    <div>
    <div>
      <b><font class="pricecolor colors_productprice"><span class=
      "PageText_L483n">$11.00</span></font></b>
    </div>
    <img src="#" /></div>
</div> 

笔记:

  1. 我无法更改 HTML,它是自动生成的

  2. HTML 的 URL 包含“/Meats-s/”,因此如果有条件,它应该被第二个定位。

  3. 我可以在普通的 .css 文件中使用相同的 css 选择器(.colors_productname 跨度)对其进行编辑,但这不起作用。

4

1 回答 1

6

将您的代码封装在DOM Ready handler

$(function() {
    // Your code
});

将您的代码封装在上述处理程序中将确保您的代码仅在元素在 DOM 中可用之后运行。

===而且使用它总是比==.

此外,您似乎window.location多次使用。考虑缓存它。

$(function() {
   var loc = location.pathname;
   if (loc === "/SearchResults.asp" || loc.indexOf("-s/") !== -1
                                    || loc.indexOf("_s/") !== -1
   $('.colors_productname span').css("background-color", "#F7F7F7");
});
于 2013-07-11T00:54:15.093 回答