- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下标记:
<fieldset>
<legend>Headline Events...</legend>
<div style="width:100%; margin-top:10px;">
<div style="width:100%; float:none;" class="clear-fix">
<div style="width:400px; float:left; margin-bottom:8px;">
<div style="width:150px; float:left; text-align:right; padding-top:7px;">
Team Filter:
</div>
<div style="width:250px; float:left;">
<input id="teamFilter" style="width: 100%" />
</div>
</div>
<div style="width:400px; float:left; margin-bottom:8px;">
<div style="width:150px; float:left; text-align:right; padding-top:7px;">
Type Filter:
</div>
<div style="width:250px; float:left;">
<input id="typeFilter" style="width: 100%" />
</div>
</div>
</div>
</div>
<div id="diaryTable" name="diaryTable" class="clear-fix">
Getting latest Headlines...
</div>
</fieldset>
我还有以下脚本
<script>
function teamFilterChange(e) {
//alert(this.value());
setCookie('c_team', this.value(), 90);
$c1 = getCookie('c_team');
$c2 = getCookie('c_type');
var param = "true|" + $c1 + "|" + $c2;
outputHLDiaryEntries(param);
}
function typeFilterChange(e) {
//alert(this.value());
setCookie('c_type', this.value(), 90);
$c1 = getCookie('c_team');
$c2 = getCookie('c_type');
var param = "true|" + $c1 + "|" + $c2;
outputHLDiaryEntries(param);
}
// This optional function html-encodes messages for display in the page.
function htmlEncode(value) {
var encodedValue = $('<div />').text(value).html();
return encodedValue;
}
function outputHLDiaryEntries(param) {
var url = "Home/DiaryEntries/";
var data = "id=" + param;
$.post(url, data, function (json) {
var n = json.length;
alert(n + ' ' + json);
if(n == 0){
//json is 0 length this happens when there were no errors and there were no results
$('#diaryTable').replaceWith("<span style='color:#e00;'><strong>Sorry: </strong> There are no headline events found. Check your filters.</span>");
} else {
//json has a length so it may be results or an error message
//if jsom[0].dID is undefined then this mean that json contains the error message from an exception
if (typeof json[0].dID != 'undefined') {
//json[0].dDI has a value so we
//output the json formatted results
var out = "";
var i;
var a = "N" //used to change the class for Normal and Alternate rows
for (i = 0; i < json.length; i++) {
out += '<div class="dOuter' + a + '">';
out += '<div class="dInner">' + json[i].dDate + '</div>';
out += '<div class="dInner">' + json[i].dRef + '</div>';
out += '<div class="dInner">' + json[i].dTeam + '</div>';
out += '<div class="dInner">' + json[i].dCreatedBy + '</div>';
out += '<div class="dType ' + json[i].dType + '">' + json[i].dType + '</div>';
out += '<div class="dServer">' + json[i].dServer + '</div>';
out += '<div class="dComment">' + htmlEncode(json[i].dComment) + '</div></div>';
//toggle for normal - alternate rows
if (a == "N") {
a = "A";
} else {
a = "N";
}
}
//output our formated data to the diaryTable div
$('#diaryTable').replaceWith(out);
} else {
//error so output json string
$('#diaryTable').replaceWith(json);
}
}
}, 'json');
}
$(document).ready(function () {
//Set User Preferences
//First check cookies and if null or empty set to default values
var $c1 = getCookie('c_team');
if ($c1 == "") {
//team cookie does not exists or has expired
setCookie('c_team', 'ALL', 90);
$c1 = "ALL";
}
var $c2 = getCookie('c_type');
if ($c2 == "") {
//type cookie does not exists or has expired
setCookie('c_type', "ALL", 90);
$c2 = "ALL";
}
// create DropDownList from input HTML element
//teamFilter
$("#teamFilter").kendoDropDownList({
dataTextField: "SupportTeamText",
dataValueField: "SupportTeamValue",
dataSource: {
transport: {
read: {
dataType: "json",
url: "Home/SupportTeams?i=1",
}
}
}
});
var teamFilter = $("#teamFilter").data("kendoDropDownList");
teamFilter.bind("change", teamFilterChange);
teamFilter.value($c1);
//typeFilter
$("#typeFilter").kendoDropDownList({
dataTextField: "dTypeText",
dataValueField: "dTypeValue",
dataSource: {
transport: {
read: {
dataType: "json",
url: "Home/DiaryTypes?i=1",
}
}
}
});
var typeFilter = $("#typeFilter").data("kendoDropDownList");
typeFilter.bind("change", typeFilterChange);
typeFilter.value($c2);
// Save the reference to the SignalR hub
var dHub = $.connection.DiaryHub;
// Invoke the function to be called back from the server
// when changes are detected
// Create a function that the hub can call back to display new diary HiLights.
dHub.client.addNewDiaryHiLiteToPage = function (name, message) {
// Add the message to the page.
$('#discussion').append('<li><strong>' + htmlEncode(name)
+ '</strong>: ' + htmlEncode(message) + '</li>');
};
// Start the SignalR client-side listener
$.connection.hub.start().done(function () {
// Do here any initialization work you may need
var param = "true|" + $c1 + "|" + $c2;
outputHLDiaryEntries(param)
});
});
</script>
在初始页面加载时,当 signalR 集线器启动时,将调用 outputHLDiaryEntries 函数。如果我随后更改任何下拉列表,则会调用outputHLDiaryEntries,但调用$('#diaryTable').replaceWith();不起作用。如果我刷新页面,就会显示正确的数据。
更新!
根据 A.Wolff 的评论,我通过用我要替换的相同元素包装我需要的内容解决了这个问题...通过在 outputHLDiartEntries 函数的开头添加以下行...
var outStart = '<div id="diaryTable" name="diaryTable" class="clear-fix">';
var outEnd = '</div>';
然后更改每个replaceWith,以便它们包含包装器,例如
$('#diaryTable').replaceWith(outStart + out + outEnd);
最佳答案
replaceWith()替换元素本身,因此下次调用 $('#diaryTable')
将返回空的匹配集。
最好的办法是替换元素的内容,例如:
$('#diaryTable').html("<span>New content</span>");
关于javascript - .replacewith 在第二次调用时不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34450386/
我正在制作一个包含大量空白 div 标签的简单网页 在我的 css 中,我将 div 设置为 100px x 100px 的正方形,并带有背景色。 我正在使用 jQuery 让鼠标通过改变颜色与 d
我看到了在链接功能中放租元素的其他示例 例子一: var template = ''; element.html(template); $compile(element.con
我的网站使用 jQuery 1.4.2。问题是 .replaceWith() 在 jQuery 1.4.2 的 IE6 和 IE7 中不起作用。 jQuery 1.4.2 中是否有 IE6 和 IE7
我正在尝试用 jquery ReplaceWidth() 替换一段 HTML yo 像这样: $('#content-box').replaceWith(response.box); 但后
我也尝试在其他问题上搜索此内容,但我似乎不理解这种方法。我正在尝试在图像顶部创建标题,如果文本长度超过 40 个字符,脚本应减少文本的长度,并在字符串末尾添加 3 个点 let content = d
如果在加载网站时创建文本字段,我可以使 jQuery 日期选择器工作,但如果我使用 .replaceWith() 函数使其显示,则它将无法工作。 这是我在网站加载时出现的代码: http://jsfi
我有一个如下所示的a: click to change 现在我想将其替换为另一个标签,例如 p。我尝试了这个但不起作用: function f1(tor) { tor.rep
是否有类似 replaceWith() 的 jQuery 函数,可以用新元素替换元素,而不破坏原始元素(只是隐藏它)。 最佳答案 你可以这样做: replace your first content
我正在尝试使用 .replaceWith 将单词替换为函数,但它不起作用我认为问题是我没有正确地正确编写函数,但我不知道如何正确编写它。任何人都可以帮助我吗(只是很小的一部分。)谢谢。
我有一个界面,我想通知用户使用 invoke运算符而不是 oldFunction . interface SomeInterface { operator fun invoke(param: A)
我有 3 个 div,我想用另一个 div 的开始标签替换第一个 div,用结束标签替换第三个 div。这就是我的意思: 1 2 3 当我尝试用替换(使用replaceWith())第一个div时第三
我需要单击一个列表项,将 div 中的文本替换为 xml 文件中节点中的文本。 我单击一个列表项并将结果存储在一个变量中。然后,我加载 xml,找到所需节点的标题,并将结果作为一个变量。然后我运行一个
我正在尝试使用 jquery 函数 replaceWith() 将具有“问题”类的现有 div 替换为相同的 div,只是按字母顺序排序。 排序有效,替换似乎有效,尽管它们似乎被无限次替换,而我只想将
我试图在 jQuery 中使用 replaceWith() 来替换我表中的一行,但它并没有替换。添加了新行,旧行仍然存在(直到我刷新页面)。我一定是遗漏了一些东西,因为从文档来看这应该可以工作....
所以我在替换我的 js/jQuery 代码上的空输出时遇到了一些麻烦,它正在替换每个文本,即使它是有效的。 没有 if (items[z].Office == null) { 语句: 使用 if 语句
我有以下标记: Headline Events...
我正在为我正在设计的 web 应用程序使用 jquery 的 .replaceWith() 函数。我的 HTML 是这样的: {% for service in services %}
这个脚本的第二个“点击”功能不起作用,我认为这只是一个语法问题。我对此很陌生。但我需要找到一种简单的方法,为变量数组调用一次实时“click”函数。 脚本可以工作,只是第二部分不行。 我正在寻找一种有
我不想在委托(delegate)中使用 live() 或 on() :/ 是否有其他方法可以替换元素的 HTML 代码但保留元素数据? 最佳答案 当您通过 JavaScript 替换 HTML 元素时
我有以下 jQuery 可以用选择字段替换输入字段。 input = $("input[id$='id_var']")[0]; input_class = input.getAttribute("cl
我是一名优秀的程序员,十分优秀!