Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.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 更改特定对象上的颜色<;a>;如果填充了div标记字段,则具有与div标记相同id的标记_Javascript_Jquery_Html_Asp.net Mvc_Html5 Video - Fatal编程技术网

Javascript 更改特定对象上的颜色<;a>;如果填充了div标记字段,则具有与div标记相同id的标记

Javascript 更改特定对象上的颜色<;a>;如果填充了div标记字段,则具有与div标记相同id的标记,javascript,jquery,html,asp.net-mvc,html5-video,Javascript,Jquery,Html,Asp.net Mvc,Html5 Video,我有两个链接,它们的日期id与div标签id相同,当div标签字段中设置了值时。链接的颜色应更改为绿色。我想知道我怎么能做到这一点 我的菜单如下所示: <div class="wrapper"> <div class="parent"> <a data-id="6" data-counter="0" href="#" class="box navigation">

我有两个
链接,它们的
日期id
div
标签
id
相同,当div标签字段中设置了值时。
链接的颜色应更改为绿色。我想知道我怎么能做到这一点

我的
菜单如下所示:

 <div class="wrapper">   
                    <div class="parent">  
                        <a data-id="6" data-counter="0" href="#" class="box navigation"></a>
                        <p>1</p>   
                    </div>  
                    <div class="parent">
                        <a data-id="7" data-counter="1" href="#" class="box navigation"></a>
                        <p>2</p>
                    </div>
</div>
如果您在我的
Post
中进行检查,我刚刚做了一个测试,将
.box
更改为绿色,这会将所有
链接更改为绿色,但这是错误的。如果我需要帮助的话,就在里面

感谢您的帮助

提前谢谢

试试看:

$(“.box[data id=”“+id,需要更改+“]”).css({“background color”:“green”})


这基本上是查找
类,该类的
数据id
等于您在发布后获得的id。

我假设,在本例中,
$(This)
将是
$('#6')
div
元素,并且您的
如果
条件计算正确:

if (Comment != null && Grade > 0) {
    $('a[data-id="' + this.id + '"]').css({ "background-color": "green" });
}
假设,如您发布的示例中所示,单击是
$('#6')
,这将从
中检索
id
(在这种情况下不需要包装在jQuery对象中),并将其连接到选择器中,从而有效地成为
$('a[data id=“6”])
然后将链接更改为绿色的
背景色

参考资料:


由于链接不起作用并且由foreach循环生成,它可以是任何类型的id。在这些属性上设置的id来自数据库选项卡中的id。问题是单击var$step=$(“.wizard-step2:visible”);//获取当前步骤我将编辑我的帖子示例,并提供完整的代码,如果您理解:)为什么它位于
$('.wizard-step2:visible')
?它仍然有
id=“6”
,并且应该仍然与
$('a[data id=“6”]”)直接相关。我遗漏了什么?我正在查看它,因为它在链接上没有改变颜色。请尝试在
if
语句中添加
console.log($('a[data id=“'+this.id+'”).length)
(甚至只是
console.log($('a[data id=“'+this.id+'”))
以验证它选择了正确的元素)。还有可能是
console.log(Comment!=null&&Grade>0)
就在
if
语句之前,该语句应计算为
true
false
,以了解发生了什么。
$("#next-step").click(function () {
            var $step = $(".wizard-step2:visible"); // get current div step
            var validator = $("form").validate(); // obtain validator
            var anyError = false;

            var Comment = $step.find(".Comment").val();
            var QuestionID = $step.find(".QuestionID").val();
            var Grade = $step.find(".Grade").val();

            var data =
                {
                    Comment: Comment,
                    QuestionID: QuestionID,
                    Grade: Grade
                };
            $.post('@Url.Action("AnswerForm", "AnswerNKI")', data, function () {

                if (Comment != null && Grade > 0) {

               $(".box").css({ "background-color": "green" });

                }

            });
if (Comment != null && Grade > 0) {
    $('a[data-id="' + this.id + '"]').css({ "background-color": "green" });
}