Javascript 李附加功能不工作
我使用blogger作为我的博客平台。在我的博客主页中,我创建了一个函数,可以从每篇文章(我的主页中有5篇文章)的单个文章中获取所有图像,然后将单个文章中的所有图像附加到每个文章的单个滑块中 这是我的函数脚本(我将其放在Javascript 李附加功能不工作,javascript,jquery,Javascript,Jquery,我使用blogger作为我的博客平台。在我的博客主页中,我创建了一个函数,可以从每篇文章(我的主页中有5篇文章)的单个文章中获取所有图像,然后将单个文章中的所有图像附加到每个文章的单个滑块中 这是我的函数脚本(我将其放在标记之后): ///ig,“”) .split(/\s+/) .slice(0,n-1) .join(“”) } 职能rm(a){ var p=document.getElementById(a); img=p.getElementsByTagName(“img”)。每个(函数
标记之后):
///ig,“”)
.split(/\s+/)
.slice(0,n-1)
.join(“”)
}
职能rm(a){
var p=document.getElementById(a);
img=p.getElementsByTagName(“img”)。每个(函数(){
$(“.flexslider.slides”).append($(“”).append(this));
});
p、 innerHTML=' '+stripTags(p.innerHTML,SNIPPET\u COUNT)+''
}
//]]>
然后我的变量,每个帖子都有一个变量,每个帖子的ID不同:
<script type='text/javascript'>var x="Post Title",y="http://myblog.url/post-url.html";rm("p8304387062855771110")
var x=“文章标题”,y=”http://myblog.url/post-url.html";rm(“p8304387062855771110”)
我的单个帖子标记:
<span id='p8304387062855771110'></span>
问题是,脚本中的append函数不起作用。我是否忘记了代码中的某些内容?我认为不起作用尝试这样做:
I think <li> doesnt work try li like this:
$(".flexslider .slides").append($("li").append(this));
$(.flexslider.slides”).append($(.li”).append(this));
我认为不起作用尝试这样做:
$(.flexslider.slides”).append($(.li”).append(this));
您的jQuery/JavaScript非常笨拙。节点列表上没有方法每个。尽量不要把jQuery/JavaScript混为一谈。您可能会考虑在要插入的HTML上使用数组/连接来保持行长度可读。这样,您可能会注意到HTML引号不一致。1
var $p = $('#' + a);
$p.find('img').each(function () {
var html = $('<li>').append($(this))
$('.flexslider .slides').append(html);
});
var html = [
'<div class="entry-container"><div class="entry-content">',
'<div class="entry-image"><div class="flexslider">',
'<ul class="slides"></ul></div></div><div class="entry-header">',
'<h1><a href="',
y,
'">',
x,
'</a></h1></div><p>',
stripTags(p.innerHTML, SNIPPET_COUNT),
'</p></div></div>'
].join('');
$p.html(html);
var$p=$('#'+a);
$p.find('img')。每个(函数(){
var html=$('')。追加($(此))
$('.flexslider.slides').append(html);
});
变量html=[
'',
'',
“ ”,
“”,
stripTags(p.innerHTML,代码段计数),
“”
].加入(“”);
$p.html(html);
就我个人而言,我更喜欢用单引号来表示JS工作,而用双引号来表示HTML属性,这两者永远不会相遇。你的jQuery/JavaScript非常蹩脚。节点列表上没有方法每个。尽量不要把jQuery/JavaScript混为一谈。您可能会考虑在要插入的HTML上使用数组/连接来保持行长度可读。这样,您可能会注意到HTML引号不一致。1
var $p = $('#' + a);
$p.find('img').each(function () {
var html = $('<li>').append($(this))
$('.flexslider .slides').append(html);
});
var html = [
'<div class="entry-container"><div class="entry-content">',
'<div class="entry-image"><div class="flexslider">',
'<ul class="slides"></ul></div></div><div class="entry-header">',
'<h1><a href="',
y,
'">',
x,
'</a></h1></div><p>',
stripTags(p.innerHTML, SNIPPET_COUNT),
'</p></div></div>'
].join('');
$p.html(html);
var$p=$('#'+a);
$p.find('img')。每个(函数(){
var html=$('')。追加($(此))
$('.flexslider.slides').append(html);
});
变量html=[
'',
'',
“ ”,
“”,
stripTags(p.innerHTML,代码段计数),
“”
].加入(“”);
$p.html(html);
1就我个人而言,我更喜欢用单引号表示JS工作,用双引号表示HTML属性,而这两者永远不会相遇。你可以去掉type=“text/javascript”
和/,毕竟是2014年;-)
而且,*?
不是你的意思
<script>
function stripTags(s, n) {
return s.replace(/<[^>]*>/g, "") // Be careful with .*? : it is not correct
.split(/\s+/)
.slice(0, n - 1)
.join(" ")
}
function rm(id) {
var $p = $('#' + id);
img = $p.find("img").each( function(){
$(".flexslider .slides").append($("<li>").append(this));
});
p.innerHTML = '<div class="entry-container"><div class="entry-content"><div class="entry-image"><div class="flexslider"><ul class="slides"></ul></div></div><div class="entry-header"><h1><a href="' + y + '">' + x + '</a></h1></div><p>' + stripTags(p.innerHTML, SNIPPET_COUNT) + '</p></div></div>'
}
</script>
功能条带标签(s、n){
返回s.replace(/]*>/g,“”//小心。*?:它不正确
.split(/\s+/)
.slice(0,n-1)
.join(“”)
}
功能rm(id){
变量$p=$(“#”+id);
img=$p.find(“img”)。每个(函数(){
$(“.flexslider.slides”).append($(“”).append(this));
});
p、 innerHTML='
'+stripTags(p.innerHTML,SNIPPET\u COUNT)+''
}
你可以摆脱type=“text/javascript”
和/,毕竟是2014年;-)
而且,*?
不是你的意思
<script>
function stripTags(s, n) {
return s.replace(/<[^>]*>/g, "") // Be careful with .*? : it is not correct
.split(/\s+/)
.slice(0, n - 1)
.join(" ")
}
function rm(id) {
var $p = $('#' + id);
img = $p.find("img").each( function(){
$(".flexslider .slides").append($("<li>").append(this));
});
p.innerHTML = '<div class="entry-container"><div class="entry-content"><div class="entry-image"><div class="flexslider"><ul class="slides"></ul></div></div><div class="entry-header"><h1><a href="' + y + '">' + x + '</a></h1></div><p>' + stripTags(p.innerHTML, SNIPPET_COUNT) + '</p></div></div>'
}
</script>
功能条带标签(s、n){
返回s.replace(/]*>/g,“”//小心。*?:它不正确
.split(/\s+/)
.slice(0,n-1)
.join(“”)
}
功能rm(id){
变量$p=$(“#”+id);
img=$p.find(“img”)。每个(函数(){
$(“.flexslider.slides”).append($(“”).append(this));
});
p、 innerHTML='
'+stripTags(p.innerHTML,SNIPPET\u COUNT)+''
}
控制台上说了什么?有错误吗?p.getElementsByTagName(“img”)。每个没有这样的方法.each()
。因此更改为$(p)。查找('img')。每个(…)
;。。。并且分配给p.innerHTML
的字符串文本被破坏。只是有很多奇怪的或坏掉的代码。控制台怎么说?有错误吗?p.getElementsByTagName(“img”)。每个没有这样的方法.each()
。因此更改为$(p)。查找('img')。每个(…)
;。。。并且分配给p.innerHTML
的字符串文本被破坏。只是有很多奇怪的或坏掉的代码。为什么你认为$(“”)
不起作用?代码中有很多东西被破坏了,但这不是一个。在这里,李不是选择器$(“”)
将创建一个新的li元素。为什么您认为$(“”)
不起作用?代码中有很多东西被破坏了,但这不是一个。在这里,李不是选择器$(“”)
将创建一个新的li元素。非常可疑:)这是一个经典的英语术语。有人能确认它是$(“”)。追加($(此))代码>而不是$(“”)。为我附加(这个)
?我不确定,两者都可以。在这种情况下,我认为没有必要对其进行包装,虽然这两种方法都可以工作,但实际上没有必要先查找$,然后再调用它,因此,$(“”)。追加(this)
应该是used@AnderMorales您必须将此代码放入rm()中
function高度可疑:)这是一个经典的英语术语。有人能确认它是$(“”)。追加($(此))代码>而不是$(“”)。为我附加(这个)
?我不确定,两者都可以。在这种情况下,我认为没有必要对其进行包装,虽然这两种方法都可以工作,但实际上没有必要先查找$,然后再调用它,因此,$(“”)。追加(this)
应该是used@AnderMorales您必须将此代码放入rm()
functionblogger模板编辑器中,因为它有点敏感,删除//将导致我的代码