我搜索了一个解决方案,但没有任何相关性,所以这是我的问题:
我想解析一个包含HTML文本的字符串.我想用JavaScript做.
我试过这个库,但它似乎解析了我当前页面的HTML,而不是字符串.因为当我尝试下面的代码时,它会更改我的页面标题:
var parser = new HTMLtoDOM("<html><head><title>titleTest</title></head><body><a href='test0'>test01</a><a href='test1'>test02</a><a href='test2'>test03</a></body></html>", document);
Run Code Online (Sandbox Code Playgroud)
我的目标是从HTML外部页面中提取链接,就像字符串一样.
你知道一个API来做吗?
我正在寻找一种快速安全的方法来在没有jQuery的情况下从html元素中添加和删除类.
它也应该在IE早期(IE8及以上版本)工作.
每当我trim()在字符串上使用该函数时,它适用于Chrome和Firefox,但我在IE8中收到错误说:
Object不支持此属性或方法
任何人都可以告诉我为什么会发生这种情况,如果有解决方法吗?
还在寻找一种' '从我的html代码中删除的方法,在stackoverlow.com上找到了多种方式,但这些方法都没有工作!
HTML
<p>No Space</p>
<p> 1 Space</p>
<p> 2 Spaces</p>
<p> 3 Spaces</p>
<p> 4 Spaces</p>
Run Code Online (Sandbox Code Playgroud)
jQuery的
$(document).ready(function() {
$('p').text().replace(/ /g, '');
//$('p').html($(this).html().replace(/ /gi,''));
});
Run Code Online (Sandbox Code Playgroud)
jsfiddle - 游乐场 http://jsfiddle.net/MrTest/hbvjQ/85/
任何帮助非常感谢.
皮特
我在JavaScript中寻找一个不存在的修剪函数,Googling上的一些代码建议使用:
function trimStr(str) {
return str.replace(/^\s+|\s+$/g, '');
}
Run Code Online (Sandbox Code Playgroud)
我想知道它是如何str.replace(/^\s+|\s+$/g, '')
工作的.我知道这是某种形式的正则表达,但不知道它在做什么.
有特定角度的方式吗?如果没有,我应该使用内置的jquery来做吗?如果我应该使用内置的jquery如何在不使用$(或必要)的情况下使用trim()函数?
编辑 - 是的我知道str.trim().抱歉.我需要这个在IE 8中工作
编辑 - 至于这个问题是重复的,我特别询问如何在角度中执行此操作,其中引用的答案解释了如何在javascript,node和jquery中执行此操作.有没有办法使用角度内置的jquery来做到这一点?
编辑 - 显然答案是"AngularJS不这样做"
这并不表示我的javascript代码中有任何错误,但在下载的jquery.js文件中,这是一个重命名的minified jquery 1.3.2文件.
我正在测试一些js代码,在IE8中,它在firefox和google chrome中100%工作,然后再将其转换为生产服务器.
但是jquery库本身似乎在IE8中存在问题.
我甚至尝试下载1.3.2 jquery的新副本,并使用它而不是缩小版本,它仍然出错.
然后我尝试使用在code.jquery.com上托管的cdn,它甚至在让我的代码工作或不工作之前仍然出错.
它似乎在IE8中部分工作,但我们的开发服务器上的其他jquery部分工作,并继续重复,"对象不支持此属性或方法"
是否有特定版本的jquery在IE8中效果最好?至少我可以在IE8中查看我的代码是否存在问题?
或者是否有一个在IE8中不起作用的jquery函数列表?
PS此外,我考虑升级到IE9,看看是否有相同的问题,但你无法下载IE9,对于WinXP,这很糟糕.我只是喜欢WinXP,升级的可能性很小.在我使用XP之前,我的工作电脑上安装了Vista,这真的很糟糕.
对不起,小小的发泄,只是试图让这个代码工作,没有错误......
谢谢.
来自评论
<!--- Include jQuery --->
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js" charset="utf-8"></script>
Run Code Online (Sandbox Code Playgroud) 最近我成了function.name房产的忠实粉丝.
例如,我编写了一个扩展原型的函数.
它的工作方式..
Array.give(
function forEach() { ... }
);
Run Code Online (Sandbox Code Playgroud)
..然后会让你做..
['a', 'b', 'c'].forEach(function () { ... });
Run Code Online (Sandbox Code Playgroud)
此代码适用于Chrome,Safari,Firefox和Opera,但不适用于IE.
在进行了一小部分挖掘之后,我意识到对于give函数来说,function.name只是返回undefined,就像返回的其他东西一样"forEach".
有没有另一种方法可以在IE中获得该名称,或者我是否会对这个美妙的财产失去爱意?
我看到了几个关于这个问题的具体问题 - 进入typeerror object doesn't support this property or methodIE8,每个都有其特定的答案.
假设我有一个包含大量代码的大型网站...我不知道哪个特定代码段导致此错误.
是否有一般方法来调试它?我已经尝试过使用IE开发者工具,它不会出错.这是由错误的JavaScript语法引起的吗?我应该尝试像js lint这样的东西吗?
识别和处理此问题的正确,一般方法是什么?
javascript ×9
jquery ×3
html ×2
angularjs ×1
dom ×1
html-parsing ×1
regex ×1
string ×1
trim ×1
whitespace ×1