Tag: dom

将内容添加到列表时保持滚动位置(AngularJS)

我一直试图通过使用ng-repeat将一些项目添加到可滚动容器中的列表中,并且最近的一个应该位于列表的顶部。 如果在添加内容时容器的滚动条不在顶部,我还需要保持滚动位置。 这是我的解决方案,但我仍有问题。 在角度为dom渲染前置项目后,总会出现闪烁。 var myApp = angular.module(‘myApp’, []); myApp.controller(‘MainCtrl’, function($scope, $interval, $timeout) { $scope.items = []; $interval(function() { var item = { id: Math.random(), text: (new Date()).toString() }; $scope.items.unshift.apply($scope.items, [item]); var $container = $(‘.stream-container’); var $topItem = $(‘.item:first’); var oScrollTop = $container.scrollTop(); var oOffset = $topItem.length ? $topItem.position().top : 0; $timeout(function() { // Executed […]

jquery找到最近的没有类的兄弟姐妹

我很难接受使用jQuery来获取最接近的前一个元素,该类’slide’不包含类’subsection’ 示例HTML: 我试过:(其中$ subsection是上面指出的元素) var $slide = $subsection.prev(‘.slide’).not(‘.subsection’); var $slide = $subsection.prev(‘.slide:not(“.subsection”)’); var $slide = $subsection.prev(‘.slide’).not(“[class=’subsection’]”); var $slide = $subsection.prev(‘.slide:not([class=”subsection”])’); 现在我发现prev()只选择一个前一个elem然后停止,但prevUntil也不起作用? var $slide = $subsection.prevUntil(‘.slide’).not(‘.subsection’); 我也尝试过: var $slide = $subsection.prevAll(‘.slide’).not(‘.subsection’); 但这让我得到了第一个id为p1的幻灯片元素。 如果有人有任何提示我会很感激…有谁能阻止我去克雷克雷? 8 |

一个按钮元素上的jQuery .attr(’type’,’submit’)在IE7中给出了一个奇怪的错误

我正在通过$.ajax()解析JSON响应,并根据此对象的值构建表单。 我写的剧本很长,但这就是它正在做的事情: 动态创建: 〜表单元素, 〜一个fieldset元素, 〜一个按钮元素, 大约20个文本输入和标签元素 将输入和标签附加到字段集 将按钮附加到字段集 将fieldset附加到表单 将表单附加到现有DOM中的元素。 一切都在所有浏览器中工作,除了IE中的一个小片段。 我把它缩小到下面一段代码。 ( doc是包含document的变量) fieldset.append( $(doc.createElement(‘button’)) .addClass(‘ui-button’) .attr(‘type’, ‘submit’) .html(‘Re-Rate’) .button() ); 这是上面的第3步。 它创建一个按钮元素,添加一个类,设置要submit的type属性,为其提供一些文本,然后将其附加到fieldset。 IE失败并显示错误“对象不支持此操作” 如果我注释掉.attr()行,如下所示: fieldset.append( $(doc.createElement(‘button’)) .addClass(‘ui-button’) //.attr(‘type’, ‘submit’) .html(‘Re-Rate’) .button() ); 一切都按预期工作。 如果你想知道, .button()方法是jQuery UI

如何将动态插入的标记告诉…运行

我正在动态插入带有src属性且没有内容的标记。 但是浏览器没有下拉src并在插入后运行脚本 – 标签就位于DOM中。 我可以告诉浏览器“运行”脚本标签吗? 由于我正在使用的其他代码,我更容易通过src属性保留代码而不是自己获取代码并将其插入到标记的正文中 – 但如果这是必要的,我也可以这样做(并欢迎任何建议)。 更新请求的信息 在页面加载后,基于用户交互插入脚本标记任意次数 我插入了这样的标签(jquery的html函数剥离脚本标签): document.getElementById(“my-div”).innerHTML = “the script tag, which stack overflow wants to strip”;

D3中jQuery的$(“。cell:first”)相当于什么?

我试过了 d3.select(“.cell:first”) d3.selectAll(“.cell”).filter(“:first”) d3.selectAll(“.cell”).select(“:first”) 但都没有工作

我可以打开一个新窗口并用字符串变量填充它吗?

我正在与一些看似简单的事情进行一场战斗。 我有一个[javascript]字符串,其中包含DOM元素,并且想要打开一个新窗口(window.open()?)并使用填充新窗口的字符串。 即让浏览器获取字符串并将其转换为HTML。 这可能吗?

如何使用JQuery获取div中的第一个子ID

如何使用JQuery获取div中的第一个子ID。 示例代码: 我想获得id a1 。 我试过$(‘#id1 a:first-child’).html()来获取文本。 如何获得身份证?

jQuery:不能只选择附加的元素

这是事件发生的事情: $(‘div#pages’).append($(‘…’)); 然后,在另一个事件上它没有这样做: var page = $(‘div.page#test’); // returns empty array 我已经调试过,附加的html在追加后出现在文档结构中,但未能被选中。 在浏览器控制台中执行相同操作非常有效 可能是什么问题呢?

jQuery – 通过内部文本查找标签

我想知道是否有可能通过它的内部文本找到一个标签(或任何元素,真的)。 例如: SuperSweetCheckbox 我希望通过文本SuperSweetCheckbox找到它。 我知道这似乎有点违反直觉,但由于应用程序的性质,我正在努力它似乎是必要的。 我意识到我可以遍历每个标签,但是如果可能的话,我宁愿避免使用该选项。 如果有人能提供一些帮助,我会很感激。

jQuery“获取或创建元素”的便捷方法

我有两个生成DOM元素的函数。 它们都试图创建相同的容器元素。 (我不想强制执行这些函数的特定运行顺序,或者将它们紧密地联系到创建此元素的副作用)。 我一直在尝试发现一个方法,如果它存在,将获得一个元素,或者如果它不存在则创建它的单个实例,并返回包含该元素的jQuery对象或所有匹配的元素(如果它们已经存在)。 我没有发现这在搜索jQuery文档中存在,但我想我会问这里是否有其他人遇到过类似问题并有建议。