我正在尝试使用ajax html响应中的内容更新div.我相信我的语法正确,但div内容被替换为整个HTML页面响应,而不仅仅是在html响应中选择的div.我究竟做错了什么?
<script>
$('#submitform').click(function() {
$.ajax({
url: "getinfo.asp",
data: {
txtsearch: $('#appendedInputButton').val()
},
type: "GET",
dataType : "html",
success: function( data ) {
$('#showresults').replaceWith($('#showresults').html(data));
},
error: function( xhr, status ) {
alert( "Sorry, there was a problem!" );
},
complete: function( xhr, status ) {
//$('#showresults').slideDown('slow')
}
});
});
</script>
Run Code Online (Sandbox Code Playgroud) 这里有很多关于转换br />或保留不同语言换行的线索,但关于textarea的问题并不多.
我有这个脚本:
var boxText = "";
$("textarea.BoxText").live('dblclick', function () {
boxText = $(this).val().replace(/ /g, "<br/>");
$(this).replaceWith( '<div class="BoxText">' + $(this).val() + '</div>' );
});
$("div.BoxText").live('dblclick', function () {
$(this).replaceWith( '<textarea form="HTML" class="BoxText">' + boxText + '</textarea>' );
});
Run Code Online (Sandbox Code Playgroud)
我有一个textarea元素,可编辑.当用户双击它时,它会转换为div.但是,在div中,不保留换行符.我想将新行转换为
,目前,正在转换所有空格.我有第二个脚本将其转换回textarea,因此存储字符串的变量.我也需要将
它们重新转换成新的线条.
这似乎是多余的,但我有充分的理由.
我有这个代码
$(document).ready(function(){
$('.selector').click(function(){
obj = $(this);
obj.replaceWith('<div class="size">whats up man ??!</div>');
alert(obj.html());
});
});
Run Code Online (Sandbox Code Playgroud)
我想获得'obj'的新内容,这个内容一直是'replaceWith'
但,
我得到旧内容而不是......
我怎样才能得到'obj'的实际内容?
我打算访问新的'obj'
$('.selector').click(function(){
var obj = $(this),
repl = $('<div class="size">whats up man ??! <span class="medium"></span></div>');
obj.replaceWith(repl);
alert(obj.find('span').attr('class')); //this will print 'undefined'
});
Run Code Online (Sandbox Code Playgroud)
我想要打印'span'的类名称'medium'
请考虑以下HTML和Javascript.在脚本中,我更换一个带有标签p标签.我期待警报()函数返回的内容p标签,而是它返回原来的内容,一个不再存在标签.
我如何引用新元素?
HTML:
<a href="">This is a link</a>
Run Code Online (Sandbox Code Playgroud)
使用Javascript:
$(document).ready(function() {
$("a").each(function() {
$(this).replaceWith('<p>New Paragraph</p>');
alert($(this).text());
});
});
Run Code Online (Sandbox Code Playgroud) 我正在尝试在jQuery中编写一个替换函数,用html替换特定的单词.
基本上我试图取代像[this]
与<span class='myclass'>
作为文件被加载.我环顾四周看了几个样品,但我看到的几件事我无法开始工作.我还在学习jQuery,所以我希望有人可以给我一些建议作为尝试.
先谢谢,史蒂文.
HTML /文字:
[this]hello world![/this]?
Run Code Online (Sandbox Code Playgroud)
JavaScript的:
$(document).ready(function() {
// Using just replace
$("body").text().replace(/[this]/g,'<b>')
});?
Run Code Online (Sandbox Code Playgroud)
- 编辑 -
我使用下面的Nir演示对该功能进行了一些更改.下面是关于我正在做什么的更多细节.我正在尝试制作一个内联部分,我已经拥有了适当的类和所做的.它在html中运行良好,但是当我运行jQuery函数时它似乎不起作用.
很明显标签被替换了,但我的css似乎并没有像我提到的那样工作.
这是HTML HERE的链接
并且这里是jsfiddle的链接
$(document).ready(function() {
// Using just replace
var text = $('body').text();
$("body").html(text.replace(/\[math\]/g,'<span class="container">').replace(/\[\/math\]/g,'</span>'));
var textt = $('body').text();
$("body").html(textt.replace(/\[top\]/g,'<div class="containme">').replace(/\[\/top\]/g,'</div>'));
var textl = $('body').text();
$("body").html(textl.replace(/\[line\]/g,'<div class="borderme"> </div>'));
var textb = $('body').text();
$("body").html(textb.replace(/\[bot\]/g,'<div class="containme2">').replace(/\[\/bot\]/g,'</div>'));
});?
Run Code Online (Sandbox Code Playgroud)
这个HTML
<span class="readme">Whats up, here's a fraction.
<span class="container">
<div class="containme">1</div>
<div class="borderme"> </div>
<div class="containme2">2</div>
</span>
Hello? …
Run Code Online (Sandbox Code Playgroud) 我认为这会遇到非常基本的东西,但我在jquery的精彩世界中是全新的.
继承我简单的替换代码:
<div>yes yes </div>
<script>$('div').replaceWith('<span>no no</span>');</script>
Run Code Online (Sandbox Code Playgroud)
我想要实现的是淡出"是的"div然后淡入新的"禁忌"范围
有什么想法吗?
文本
变成
<p href="page.html" class="class1 class2" id="thisid">Text</p>
Run Code Online (Sandbox Code Playgroud)
我熟悉jQuery,replaceWith
但据我所知,这并没有保留属性/内容.
注意:为什么p会有href
?因为我需要改p
回a
另一个事件.
我正在使用以下jQuery来提取新数据并替换DIV listdata的内容
$(function(){
$('.refresh').click(function(event) {
event.preventDefault();
$.ajax({
url: "_js/data.php",
success: function(results){
$('#listdata').replaceWith(results);
}
});
});
});
Run Code Online (Sandbox Code Playgroud)
该脚本由页面上的众多链接触发,例如:
<a href="" id="update1" class="refresh">Update 1</a>
<a href="" id="update2" class="refresh">Update 2</a>
Run Code Online (Sandbox Code Playgroud)
由于某种原因,该脚本仅适用于第一次链接.后续单击不会刷新数据.
我已经看过各种修复,但没有任何我可以工作的东西.有什么建议?
这是一个简洁的例子.
请记住,.chat-reply类有一个绑定到它的click事件处理程序.
HTML(回复按钮):
<div class="container">
<a href="#" class="btn small chat-reply">Reply</a>
</div>
Run Code Online (Sandbox Code Playgroud)
当有人单击另一个向服务器发送消息以保存在数据库中的按钮时,将调用此jQuery函数.这是通过ajax完成的,并且成功完成.在前面提到的.ajax()success()回调函数中调用了这个函数:
$.ajax({
type : 'GET',
url : '/some_controller/some_method',
success : function(data) {
$('.container').replaceWith(data);
}
});
Run Code Online (Sandbox Code Playgroud)
上面成功回调中的"数据"将替换整个 .container div,包括child .chat-reply按钮.在此replaceWith()之后,click事件不再绑定到该按钮.
从逻辑上讲,我试图让最终用户向时间线发布消息,然后在时间线中显示该消息,而无需刷新屏幕.
我需要替换 html 文档中的多个单词。Atm 我通过为每次替换调用一次 replace_with 来做到这一点。在 NavigableString 上调用 replace_with 两次会导致 ValueError(见下面的例子),因为被替换的元素不再在树中。
最小的例子
#!/usr/bin/env python3
from bs4 import BeautifulSoup
import re
def test1():
html = \
'''
Identify
'''
soup = BeautifulSoup(html,features="html.parser")
for txt in soup.findAll(text=True):
if re.search('identify',txt,re.I) and txt.parent.name != 'a':
newtext = re.sub('identify', '<a href="test.html"> test </a>', txt.lower())
txt.replace_with(BeautifulSoup(newtext, features="html.parser"))
txt.replace_with(BeautifulSoup(newtext, features="html.parser"))
# I called it twice here to make the code as small as possible.
# Usually it would be a different newtext ..
# which was created …
Run Code Online (Sandbox Code Playgroud) replacewith ×10
jquery ×9
ajax ×3
javascript ×2
this ×2
asp-classic ×1
fadein ×1
fadeout ×1
get ×1
html ×1
newline ×1
python ×1
replace ×1
text ×1
textarea ×1