【问题标题】:how to find a particular div element with the help of .find selector and $(this)如何在 .find 选择器和 $(this) 的帮助下找到特定的 div 元素
【发布时间】:2016-01-26 20:47:49
【问题描述】:

我需要找到一个类 .bar-steps 然后在它下面附加 div。以下是我使用的代码:

.js

$(".priority-timeline").each(function (ind, elem) {
    var prioData = ko.dataFor($(elem)[0]);
    if (IsValidPriority(prioData, false)) {
        DrawSPPriorityTimeLine($(this), prioData);            
    }
});


function DrawSPPriorityTimeLine(currentElem, priorityObj) {

var activityTotalMonth = [0,1,2,4,5,6,7,8];    

$.each(activityTotalMonth, function (i, v) {
    var div = $('<div>');//.addClass('counts');
    currentElem.find('.bar-steps').append(div);
});
}

局部视图

<div class="priority-timeline" data-bind="foreach:MemberSupportPrioritySlot">
<div class="timeline-list">
    <div class="timeline-list-items">
        <h6 data-bind="text:hasValue(Title())?Title():'&nbsp;'"></h6>
        <div class="timeline-bar">
            <div data-bind="foreach:UpcomingActivities()">
                <div class="priority-icon completed" style="left: auto;">
                    @*<img src="service-plan/image/img_2.png" alt="">*@
                    <div class="detail-popup">
                        <strong data-bind="text:Title()"></strong>
                        <p data-bind="text:Description()">
                        </p>
                    </div>
                </div>
            </div>
            <div class="bar-steps" style="width: 378px; left: 0px"></div>
        </div>
    </div>
</div>

我需要找到 bar-steps 类,老实说,我的元素无法识别它。我错过了什么。

任何帮助都将不胜感激。

【问题讨论】:

  • IsValidPriority 有什么作用?你能显示这个的代码吗?此外,您似乎正在接收一个 DOM 元素,使用 jQuery 找到它,然后再次从 jQuery 中获取 DOM 元素,您为什么要这样做?
  • 我能够解决我面临的问题。谢谢大家帮助我

标签: jquery asp.net-mvc-4 knockout.js


【解决方案1】:

试试:

  $(".priority-timeline").each(function (ind, elem) {
    var prioData = ko.dataFor($(elem)[0]);
    if (IsValidPriority(prioData, false)) {
        DrawSPPriorityTimeLine($(this), prioData);            
    }
});


function DrawSPPriorityTimeLine(currentElem, priorityObj) {

var activityTotalMonth = [0,1,2,4,5,6,7,8];    

$.each(activityTotalMonth, function (i, v) {
    var div = $('<div>');//.addClass('counts');
    $(currentElem).find('.bar-steps').append(div);
});
}

jsfiddle:https://jsfiddle.net/tp8jddcn/2/

【讨论】:

  • 当前元素是对象时如何找到类?正如你所建议的,它正在抛出错误
  • 这是我在我的问题中写的。我用了同样的东西
  • 你想追加 1 个 div 还是 8 个?
  • 我要追加8个div
  • 等等,问题是您的 div 没有显示?您知道您的代码添加了空 div 吗?您是否查看过您的开发工具以查看 div 是否真的存在?如果确实存在,那么内容是什么,它们的内容应该是什么?
猜你喜欢
  • 2016-06-24
  • 2011-03-03
  • 2013-01-16
  • 2021-12-27
  • 2015-12-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多