【问题标题】:How can I select "document.write", etc. in jQuery or Javascript?如何在 jQuery 或 Javascript 中选择“document.write”等?
【发布时间】:2015-02-05 07:33:27
【问题描述】:

如何在 jQuery 或 Javascript 中选择“document.write”等?样本;

<script> document.write("Taha"); </script>

如何在这段代码中获取document.write

【问题讨论】:

  • 您能说得更具体些吗?你想如何选择它?为什么?很难理解。
  • 请详细解释“选择”是什么意思?
  • 为什么不推荐使用document.write。相反,您可以使用innerHTML js 方法。
  • 我想抓取并更改 document.write 代码。这是我的学校项目。我的项目将抓取并更改一些 javascript 代码。我会把它作为一个扩展。

标签: javascript jquery


【解决方案1】:

脚本块中的代码不能在 jQuery 的意义上被“选择”。如果您想获取脚本块,您可以选择一个与其他任何元素大致相同的元素。然后,您可以获取脚本的文本属性,然后从那里处理它。一个天真的例子是:

<script id="theScriptIWant"> document.write("Taha"); </script>
<script type="text/javascript">
    var scriptText = $("#theScriptIWant").text();
    var scriptLines = scriptText.split("\n");
    var codeLines = [];
    for (var i=0; i < scriptLines.length; i++) {
        if (scriptLines[i] == "")
            continue;
        codeLines = codeLines.concat(scriptLines[i].split(";"));
    }
    // Do something with each codeline (like check if it contains your document.write("tada") ) 
</script>

【讨论】:

    【解决方案2】:

    您可以将您的文本包装在带有 ID 的 span 中吗? 然后您可以使用innerText 属性检索文本

    <script> document.write('<span id="written">Taha</span>') </script>
    <script>
        document.getElementById('written').innerText;
    </script>
    

    JSBin Example

    ** 编辑 **

    基于html元素的附加示例:

    可以使用getElementsByTagName 检索HTML 元素,它将以HTMLCollection 检索特定类型的所有元素。然后,您可以遍历此集合中的所有元素并获取 innerText 属性。

    还可以使用其他选项,例如 getElementsByClassName,它将检索具有特定 CSS 类的所有元素。

    在此示例中,我使用document.write 编写 3 个跨度(没有 id),然后按上述方式检索它们。

    <script> document.write('<span>Taha First</span>') </script>
    <script> document.write('<span>Taha Second</span>') </script>
    <script> document.write('<span>Taha Third</span>') </script>
    <script>
    
        var htmlColl = document.getElementsByTagName('span');
        for (var i=0; i< htmlColl.length; i++){
            alert(htmlColl[i].innerText);
        }
    
    </script>
    

    【讨论】:

    • 你是说元素吗?像span 还是你的意思是name attribute
    • 是的。喜欢scriptp
    • 非常感谢 jasonscript。那么如何将 document.write 更改为
    猜你喜欢
    • 2015-11-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-23
    • 1970-01-01
    • 1970-01-01
    • 2012-03-19
    • 1970-01-01
    • 2016-03-25
    相关资源
    最近更新 更多