0

I have a string passed from the backend that has tags I would live to remove from the result on the front end before appending the HTML to the dom. For the purposes here, I cannot modify the backend output as it's used elsewhere.

I have a JSFiddle here, I tried using $.parseHTML to create a dom element, then modifying it before appending. The modification is unfortunately not working as expected, as it's removing everything from the page.

https://jsfiddle.net/bohs36aj/1/

let status = "<b>Part 1: </b>  Not submitted.   <a class=\"btn vocbtn-round-corner btn-minier btn-danger jsExtendDeadlineBtn\" data-toggle=\"modal\" data-target=\"#extend-deadlines-modal\" data-userid=\"00000\" data-stepid=\"00000\">Extend submission window</a><a class=\"btn vocbtn-round-corner btn-minier btn-danger\" onclick=\"confirmSubmitAsnBtn('../XXX/XXXX.php?X=*******&userid=00000&m=ta&stepid=000000&a=submitAssignmentStep&force=1&q1=id=00000&asn=00000&q3=showInfo=00000', 'Part 1 ')\" >Force submit: [workarea]</a><a class=\"btn vocbtn-round-corner btn-minier btn-danger\" onclick=\"forceSubmitByUpload('','&asnid=00000&userid=000000',10)\">[upload]</a><br><div style=\"margin-top:10px !important\"></div><b>Part 2: </b>  Not submitted.   <a class=\"btn vocbtn-round-corner btn-minier btn-danger jsExtendDeadlineBtn\" data-toggle=\"modal\" data-target=\"#extend-deadlines-modal\" data-userid=\"00000\" data-stepid=\"000000\">Extend submission window</a><a class=\"btn vocbtn-round-corner btn-minier btn-danger\" onclick=\"confirmSubmitAsnBtn('../XXX/XXXX.php?vockey=*******&userid=000000&m=ta&stepid=000000&a=submitAssignmentStep&force=1&q1=id=00000&asn=000000&q3=showInfo=000000', 'Part 2 ')\" >Force submit: [workarea]</a><a class=\"btn vocbtn-round-corner btn-minier btn-danger\" onclick=\"forceSubmitByUpload('','&asnid=00000&userid=000000',10)\">[upload]</a>";


status = $.parseHTML(status);
/* following line removes EVERYTHING, I just want the <a> tag buttons gone */
/* status.find("a").remove(); */
$("#page").append(status);
2
  • 1
    Do you still want the button text? Commented Jun 30, 2022 at 6:07
  • @JonP Nope I want to delete the <a> tags entirely! I only want the outer text to remain Commented Jun 30, 2022 at 6:12

1 Answer 1

1

You were very close. First make an actual DOM element to work with then find the a elements, iterate them and then remove them.

let status = "<b>Part 1: </b>  Not submitted.   <a class=\"btn vocbtn-round-corner btn-minier btn-danger jsExtendDeadlineBtn\" data-toggle=\"modal\" data-target=\"#extend-deadlines-modal\" data-userid=\"00000\" data-stepid=\"00000\">Extend submission window</a><a class=\"btn vocbtn-round-corner btn-minier btn-danger\" onclick=\"confirmSubmitAsnBtn('../XXX/XXXX.php?X=*******&userid=00000&m=ta&stepid=000000&a=submitAssignmentStep&force=1&q1=id=00000&asn=00000&q3=showInfo=00000', 'Part 1 ')\" >Force submit: [workarea]</a><a class=\"btn vocbtn-round-corner btn-minier btn-danger\" onclick=\"forceSubmitByUpload('','&asnid=00000&userid=000000',10)\">[upload]</a><br><div style=\"margin-top:10px !important\"></div><b>Part 2: </b>  Not submitted.   <a class=\"btn vocbtn-round-corner btn-minier btn-danger jsExtendDeadlineBtn\" data-toggle=\"modal\" data-target=\"#extend-deadlines-modal\" data-userid=\"00000\" data-stepid=\"000000\">Extend submission window</a><a class=\"btn vocbtn-round-corner btn-minier btn-danger\" onclick=\"confirmSubmitAsnBtn('../XXX/XXXX.php?vockey=*******&userid=000000&m=ta&stepid=000000&a=submitAssignmentStep&force=1&q1=id=00000&asn=000000&q3=showInfo=000000', 'Part 2 ')\" >Force submit: [workarea]</a><a class=\"btn vocbtn-round-corner btn-minier btn-danger\" onclick=\"forceSubmitByUpload('','&asnid=00000&userid=000000',10)\">[upload]</a>";

/*Create an acutal element to work with*/
status = $("<div/>").html($.parseHTML(status));
/*Find each "a" and remove it*/
$(status).find("a").each(function(){$(this).remove()});
/*Append the modified element*/
$("#page").append(status);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="container-fluid mt-3" id="page">

</div>

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.