【问题标题】:JQuery: find and replace instances of HTML in my pageJQuery:在我的页面中查找和替换 HTML 的实例
【发布时间】:2014-08-12 22:15:06
【问题描述】:

我的页面中有一些 HTML 在 DIV 中。整个页面中有多个 HTML 实例,以及它的设置文本框(或其他项目)..

我想进行 JQuery 搜索并替换 DIV (apexir_rollover_content) 中所有出现的 HTML 以将项目更改为简单显示。DIV 有多个实例。

这是一个 html sn-p..

<div id="apexir_rollover_content" style="height: 210px;">

<a href="javascript:void(false);">
    <input type="text" value="" maxlength="2000" size="6" name="f05"></input>
</a>
<a href="javascript:void(false);">
    <input type="text" value="23162" maxlength="2000" size="6" name="f05"></input>
</a>

我想更改下面的行,使其仅具有标准文本的值..

<input type="text" value="23162" maxlength="2000" size="6" name="f05"></input>

我无法进行全局替换,因为我需要保留其他文本框项...

如果有人可以提供帮助,我将不胜感激......

谢谢

【问题讨论】:

  • 你能澄清/解释这句话吗:Id like to do a JQuery search and replace all occurrences of the HTML within a DIV (apexir_rollover_content) to change the item to a simple display.我不明白你想要什么
  • 这个input 与您页面上的其他inputs 有何不同?除了它的价值?
  • 嗨 George... 基本上如果文本框在上面的 DIV 内,那么我想将文本项更改为标准文本如果它是文本框或其他控件之外DIV,那我想让JQuery不管它... DIV里面的项目有错误的特征,我无法在服务器上更改它们...

标签: javascript jquery html


【解决方案1】:

通常你会想要一个类或 id 来找到正确的元素。既然你没有这个,你可以

1:使用jQuery选择器查找需要替换的输入元素

jQuery("input[type='text']")

2:上移一个元素

.parent()

3:并替换输入字段

.html('<input type="text" value="23162" maxlength="2000" size="6" name="f05"></input>')

我用代码创建了一个 jsFiddle:http://jsfiddle.net/sdhxybj1/

这是您可以使用的 JS jQuery 代码:

jQuery("input[type='text']").parent().html('<input type="text" value="23162" maxlength="2000" size="6" name="f05"></input>')

【讨论】:

  • 你好木门。谢谢你.. 可能更多信息:如果代码在 DIV 内,我只需要找到它。页面上还会有其他文本框,并且 2.. 然后我需要更改行,使其标准文本..(可以通过事件单击..)我运行 jsFiddle..(第一次 Ive见过或使用过它,它非常整洁..)但没有任何反应......
  • 如果只在div里面需要,可以把jQuery选择器改成jQuery("div input[type='text']")。
  • 如果你想运行jsFiddle,你需要点击“运行”按钮(;
  • @RichardLegge 如果你想了解更多关于选择器的信息,这里是它的文档:api.jquery.com/category/selectors
【解决方案2】:

此外,如果您只打算像以前的解决方案那样替换,那么 jquery 语句可以按以下方式过滤:

$("input[type='text']").filter('[name="f05"]').parent().html('<input type="text" value="23162" maxlength="2000" size="6" name="f05"></input>');

但是,如果您打算用内部输入替换每个锚点,那么您可以使用:

        $('#apexir_rollover_content a').each(function() {
            var innerEle = $(this).children();
            $(this).replaceWith(innerEle);
        });

【讨论】:

  • 非常感谢你们的帮助......我会阅读文档......最后一个问题..我将如何更改(删除)类型,即 HTML 字符串从输入类型到标准件每个项目的文本?
  • 简单地说,如果您希望将输入翻译成段落(即),那么:$('#apexir_rollover_content a').each(function() { var innerEle = $(this).children(); var simpleParagraph = $('&lt;p&gt;&lt;/p&gt;').text(innerEle.val()); $(this).replaceWith(simpleParagraph); }); });bye
猜你喜欢
  • 1970-01-01
  • 2016-04-14
  • 1970-01-01
  • 2011-06-20
  • 2011-12-08
  • 1970-01-01
  • 2013-02-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多