Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用简单的jQuery实现星级评定,它应该在旁边显示价值_Javascript_Html_Jquery - Fatal编程技术网

Javascript 如何使用简单的jQuery实现星级评定,它应该在旁边显示价值

Javascript 如何使用简单的jQuery实现星级评定,它应该在旁边显示价值,javascript,html,jquery,Javascript,Html,Jquery,有人能帮我写下面的代码吗?我正在尝试使用查询实现星级评定。下面是我的代码 它显示为警报框,但我需要在myrating 我已经为此使用了一个简单的查询,我需要显示单击每个锚标记时的值,并显示每个标记的文本 例如当 首先单击一个标签,标签上应显示该标签的文本1 希望你们能理解这个问题 文件 .明星a{ 显示:内联块; 右侧填充:4px; 文字装饰:无; 保证金:0; } a:之后{ 位置:相对位置; 字号:18px; 字体系列:“FontAwesome”,衬线; 显示:块; 内容:“\f005”

有人能帮我写下面的代码吗?我正在尝试使用查询实现星级评定。下面是我的代码

它显示为警报框,但我需要在myrating

我已经为此使用了一个简单的查询,我需要显示单击每个锚标记时的值,并显示每个标记的文本

例如当 首先单击一个标签,标签上应显示该标签的文本1 希望你们能理解这个问题


文件
.明星a{
显示:内联块;
右侧填充:4px;
文字装饰:无;
保证金:0;
}
a:之后{
位置:相对位置;
字号:18px;
字体系列:“FontAwesome”,衬线;
显示:块;
内容:“\f005”;
颜色:#9e9e9e;
}
跨度{
字号:0;
/*删除内联元素边距的技巧*/
}
.星星a:盘旋~a:之后{
颜色:#9e9e9e!重要;
}
主动的,主动的,主动的{
颜色:#9e9e9e;
}
span:悬停a:之后{
颜色:蓝色!重要;
}
主动a:之后,
a.明星a.活跃的:之后{
颜色:蓝色;
}

0

$('.stars a')。在('click',function()上{ $('.stars span,.stars a').removeClass('active'); $(this.addClass('active'); $('.stars span').addClass('active'); 警报($(this.text()); });

文件
.明星a{
显示:内联块;
右侧填充:4px;
文字装饰:无;
保证金:0;
}
a:之后{
位置:相对位置;
字号:18px;
字体系列:“FontAwesome”,衬线;
显示:块;
内容:“\f005”;
颜色:#9e9e9e;
}
跨度{
字号:0;
/*删除内联元素边距的技巧*/
}
.星星a:盘旋~a:之后{
颜色:#9e9e9e!重要;
}
主动的,主动的,主动的{
颜色:#9e9e9e;
}
span:悬停a:之后{
颜色:蓝色!重要;
}
主动a:之后,
a.明星a.活跃的:之后{
颜色:蓝色;
}

0

$('.stars a')。在('click',function()上{ $('.stars span,.stars a').removeClass('active'); $(this.addClass('active'); $('.stars span').addClass('active'); 警报($(this.text()); $('.myrating').html($(this.text()); });

文件
.明星a{
显示:内联块;
右侧填充:4px;
文字装饰:无;
保证金:0;
}
a:之后{
位置:相对位置;
字号:18px;
字体系列:“FontAwesome”,衬线;
显示:块;
内容:“\f005”;
颜色:#9e9e9e;
}
跨度{
字号:0;
/*删除内联元素边距的技巧*/
}
.星星a:盘旋~a:之后{
颜色:#9e9e9e!重要;
}
主动的,主动的,主动的{
颜色:#9e9e9e;
}
span:悬停a:之后{
颜色:蓝色!重要;
}
主动a:之后,
a.明星a.活跃的:之后{
颜色:蓝色;
}

0

$('.stars a')。在('click',function()上{ $('.stars span,.stars a').removeClass('active'); $(this.addClass('active'); $('.stars span').addClass('active'); $('.myrating').html($(this.text()); });
当前解决方案使用所选元素的内容打开警报

alert($(this).text());
第一个问题是如何使用jquery按类查询一个元素,当您使用stars类搜索该元素中的每个span时,您可以通过阅读代码本身得到答案

我们要做的是搜索myrating类。有了它,我们就可以更改该元素的innerText,jQuery通过使用.text(content)函数来实现这一点

最后一部分是如何首先获得开始内容,使用jQuery,您可以按照更改innerText时所采用的类似路径进行操作,但是使用没有属性的jQuery将返回而不是更改元素的内容

$('.myrating').text($(this.text())
如果您将来需要在没有jQuery的情况下执行此操作,那么在vanilla js中有两种方法:

使用“按类名获取元素”API,确保在访问innerText属性之前测试列表是否有项。这两种解决方案之间的区别在于,它们只会更改找到的第一个元素

const myRatingEl=document.getElementsByClassName('myrating'))
//仅当至少找到一个元素时才更改innerText
如果(myRatingEl.length>0){
myRatingEl[0]。innerText='example'
}
使用类似于jQuery的querySelector API

const myRatingEl=document.querySelector(“.myrating”)
//只有