jquery IE8下 attr的bug? 怎么解决

serveroot 2014-01-27 01:09:50
function LoadHref()
{
$('a').each(function()
{
var href = $(this).attr("href");
if(href.indexOf("index.php") > 0)
{
$(this).attr("href", "#/" + href.substr(href.indexOf("index.php") + 10));
$(this).attr("istrue", "1");
}

});
$(".page-navigator li a").click(function(){});
}
...全文
418 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
allali 2014-01-27
  • 打赏
  • 举报
回复

$('a').each(function()
    {
        var href = $(this).attr("href");
        if(href.indexOf("index.php") > 0)
        {		
			$(this).attr("istrue", "1"); 
			var _this = $(this).replaceWith($(this.outerHTML.replace("index.php","#")));
//            $(this).attr("href", "#/" + href.substr(href.indexOf("index.php") + 10));
                       
        }
         
    });
NET小工 2014-01-27
  • 打赏
  • 举报
回复
if (!Array.prototype.indexOf) { Array.prototype.indexOf = function (elt /*, from*/) { var len = this.length >>> 0; var from = Number(arguments[1]) || 0; from = (from < 0) ? Math.ceil(from) : Math.floor(from); if (from < 0) from += len; for (; from < len; from++) { if (from in this && this[from] === elt) return from; } return -1; }; } 在调用indexOf之前,执行我这段代码,不给分没有小鸡鸡
NET小工 2014-01-27
  • 打赏
  • 举报
回复
楼主给分吧,IE8不支持indexOf方法
夜雨_Jason 2014-01-27
  • 打赏
  • 举报
回复
引用 3 楼 serveroot 的回复:
[quote=引用 1 楼 xzy21com 的回复:] 有什么问题,这不是正常访问吗?
这是修改url的核心一段 http://bbs.csdn.net/index.php/page/3 a[href]: http://bbs.csdn.net/#/page/3[/quote] 把index.php 替换为# ? $(this).attr("href",href.replace(/index.php/,"#"));
serveroot 2014-01-27
  • 打赏
  • 举报
回复
var dhref = document.location.href;

function LoadHref()
{
	$('a').each(function()
	{
		var href = $(this).attr("href");
		if(href.indexOf("index.php") > 0)
		{
				$(this).attr("href", "#/" + href.substr(href.indexOf("index.php") + 10));
				$(this).attr("istrue", "1");			
		}
		
	});

	$(".page-navigator li a").click(function(){});
}

function AjaxLoad(href)
{
	if(href.length != "1")
	{
		$.ajax({
			url: href,
//            dataType: "html",
//            async: false,
			success:
			function(data, textStatus, XMLHttpRequest)
			{
				$('#main').html(data);
				LoadHref();
			}
		});
	}
}
	
if(dhref.indexOf("#") >- 1)
{
	dhref=dhref.replace("#", "index.php");
	AjaxLoad(dhref);
}

$.address.init(function(event)
{
	$("#nav-menu a").click(function()
	{
		$(this).addClass("current").siblings("a").removeClass("current");
	});
	
	LoadHref();
	$('a[istrue == "1"]').address();

}).change(function(event)
{
	var handler = function(data)
	{
		$('#main').html(data);
	};
	
	if(event.value != "/")
	{
		var href="/index.php" + event.value;
		$.ajax({
			url: href,
//            dataType: "html",
//            async: false,
			error:
			function(XMLHttpRequest, textStatus, errorThrown)
			{
				handler(XMLHttpRequest.responseText);
			},
			success:
			function(data, textStatus, XMLHttpRequest)
			{
				handler(data);
				LoadHref();
			}
		});
	}
});

$(function()
{
	$("#btns").click(function()
	{
		var text = $(this).attr("url");
		var serach = $(this).attr("href", text + $("#stext").val() + "/");
		AjaxLoad(serach);
	});
});
serveroot 2014-01-27
  • 打赏
  • 举报
回复
现在就ie8下无效
serveroot 2014-01-27
  • 打赏
  • 举报
回复
引用 1 楼 xzy21com 的回复:
有什么问题,这不是正常访问吗?
这是修改url的核心一段 http://bbs.csdn.net/index.php/page/3 a[href]: http://bbs.csdn.net/#/page/3
夜雨_Jason 2014-01-27
  • 打赏
  • 举报
回复
问题描述不清, $(this).attr("href", "#/" + href.substr(href.indexOf("index.php") , 10)); 我猜测是这里的+号改为逗号?
scscms太阳光 2014-01-27
  • 打赏
  • 举报
回复
有什么问题,这不是正常访问吗?

87,992

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧