使用id选择器的jQuery和ie8似乎不起作用(使用1.5.1)

时间:2011-04-01 22:42:20

标签: jquery internet-explorer-8 selector

我正在创建一个推荐用于解析充满推荐信的XML文件的旋转器。每个证言都被分配了一个“类”,以便页面可以指定要使用的一类推荐(例如“公司”或“高尔夫”,并显示相关的参考。)

问题是在IE8中(即使包含兼容性元素),特定ID中的html也不会改变。我切换到课程以确保Chrome有效(Firefox始终有效。) 以下是使用类的示例:

 $("span.quote").html("&quot;" + $(this).find("quote").text() + "&quot;<br />");
//print each testimonial name, title, and org if exists

  $("span.attrib").html("- " + $(this).find("name").text() + "");
  $("span.attrib").append(", " + $(this).find("title").text() + "");
  $("span.attrib").append(", " + $(this).find("organization").text() + "<br />");

这些适用于Firefox和Chrome。 使用ID选择器的下面代码仅适用于Firefox,但这是我首选的方法。

 $("#quote").html("&quot;" + $(this).find("quote").text() + "&quot;<br />");
//print each testimonial name, title, and org if exists

  $("#attrib").html("- " + $(this).find("name").text() + "");
  $("#attrib").append(", " + $(this).find("title").text() + "");
  $("#attrib").append(", " + $(this).find("organization").text() + "<br />");

我的HTML代码段:

<span id="quote">
"This is the default quote."
</span>
<span id="attrib">
- Default name, default title, default organization
</span>

此代码中有什么不正确的IE8无法正确交换引号?当我将代码从选择器切换到警报时(只是为了确保解析循环工作)一切正常。

任何评论都表示赞赏。在这里不知所措。回到.NET或Flash项目,让它静置几个小时。

罗布

添加了更多代码示例:

testimonialflipper_tst.js的内容

var filter_value = new String();

$(document).ready(readfilterXML("golf"));

function readfilterXML(passed_value)
{
    filter_value = passed_value;
  $.ajax({
    type: "GET",
    url: "testimonials.xml",
    dataType: "xml",
    success: parseXml
  });
}

function parseXml(xml)
{
    var holdclass = filter_value;
    // need to seek class within id "quote" like "#quote.class" to find out what it is
  //find every testimonial and load the array
  $(xml).find("testimonial").each(function()
  {
    var tempclass = $(this).attr("class");
//  $("#error").html(tempclass);
    if (tempclass == holdclass)  {
  $("span#quote").html("&quot;" + $(this).find("quote").text() + "&quot;<br />");
//print each testimonial name, title, and org if exists
  $("span#attrib").html("- " + $(this).find("name").text() + "");
  $("span#attrib").append(", " + $(this).find("title").text() + "");
  $("span#attrib").append(", " + $(this).find("organization").text() + "<br />");
}
});
}

1 个答案:

答案 0 :(得分:0)

您是否有多个具有相同ID的<span>?如果你的html中有多个引号,这些id似乎很通用。

如果您确实有多个相同的ID,则每个浏览器都会以不同的方式中断。

P.S。更多代码会有所帮助。